IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Problème remplissage automatique textbox [XL-MAC 2011]


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    etudiant
    Inscrit en
    Mars 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Problème remplissage automatique textbox
    Bonjour à tous!
    je débute en vba et dans le cadre de projet de finance, nous devons créer un programme de trading. Voila mon souci :
    au travers de ma userform1 l'utilisateur entre une date et cette date doit vérifier certaines conditions. Si toutes les conditions sont verifier l'utilisateur clique sur ok et un deuxième formulaire s'ouvre indiquant pour la date rentrée par l'utilisateur des recommandations de positions d'achat et de vente au travers des différentes textbox. Le problème est que le deuxième formulaire s'ouvre bien mais les textbox ne se remplissent pas avec les recommandations associées à la date.
    ça fait une journée que je me casse les dents dessus et j'aimerai avoir des recommandations de connaisseurs de vba. de plus à chaque nouvelles rentrée de date, les textbox doivent être vidées pour pouvoir être remplies avec les recommandations de la nouvelle date correspondante

    les macros relatives sont des les userform1 et 2, merci beaucoup !!

    Code de la Userform1 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    Sub CommandeRetour_Click()
    UserForm1.Hide
    ThisWorkbook.Worksheets("Start").Select
    Selection.Show
    End Sub
     
    Sub CommandButton1_Click()
    If TextBox1.Value = "" Or TextBox1.Value = " " Then
    MsgBox "veuillez entrer une date entre le 01/01/2013 et le 31/12/2013 du type JJ/MM/AAAA"
    Else
    Call Recommandation_RSI
     
    UserForm1.Hide
    UserForm2.Show
    UserForm2.Label1 = UserForm1.TextBox1
    UserForm3.Label1 = UserForm1.TextBox1
    UserForm2.TextBox1 = Worksheets("MME26").Cells(2, 2)
    End If
    End Sub
     
    Public Sub textBox1_AfterUpdate()
     
    If IsDate(TextBox1.Value) = False Then
    MsgBox "Veuillez entrer une date entre le 01/01/2013 et le 31/12/2013 du type JJ/MM/AAAA"
    TextBox1.Value = ""
    ElseIf DateValue(TextBox1.Value) < DateValue(#1/1/2013#) Or DateValue(TextBox1.Value) > DateValue(#1/31/2013#) Then
    MsgBox "Veuillez entrer une date entre le 01/01/2013 et le 31/12/2013 du type JJ/MM/AAAA"
    End If
     
    Dim trouve As Range
    Dim ligne_date
    Worksheets("recommandation_RSI").Activate
    Set trouve = Worksheets("Recommandation_RSI").Range("A2:A262").Cells.Find(what:=DateValue(UserForm1.TextBox1), lookat:=xlWhole)
    If Not trouve Is Nothing Then
    ligne_date = trouve.Rows
    UserForm2.Label1 = TextBox1.Value
    UserForm3.Label1 = TextBox1.Value
    Else
    MsgBox "Cela ne correspond pas à une date de trading "
    TextBox1.Value = ""
     
    End If
    End Sub
    code de la userform2 (j'ai pris uniquement le cas d'une textbox mais normalement il y en a plusieurs)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Private Sub entrer_autre_date_Click()
    UserForm2.Hide
    UserForm1.Show
    End Sub
     
    Private Sub CommandButton2_Click()
    UserForm2.Hide
    UserForm3.Show
    End Sub
     
    Private Sub TextBox1_Change()
    Dim trouve As Range
    Dim ligne_date As Integer
    Worksheets("recommandation_RSI").Activate
    Set trouve = Worksheets("Recommandation_RSI").Range("A2:A262").Cells.Find(what:=DateValue(UserForm1.TextBox1), lookat:=xlWhole)
    If Not trouve Is Nothing Then
    ligne_date = trouve.Row
    TextBox1.Value = Cells(ligne_date, 2)
    End If
    End Sub

  2. #2
    Membre averti Avatar de XLRATOR
    Homme Profil pro
    Comptable Analyste
    Inscrit en
    Août 2012
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Comptable Analyste
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2012
    Messages : 226
    Points : 356
    Points
    356
    Par défaut
    Bonsoir,
    Vous devriez attribuer les valeurs aux Textbox avant d'affichier la forme Càd:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    UserForm2.Label1 = UserForm1.TextBox1
    UserForm2.Show
    Il suffit d'attribuer la valeur au textbox de la forme suivante, en suite la repasser à celui de la forme Userform3 de la même façon à partir de Userform2.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UserForm3.Label1 = UserForm2.TextBox1
    UserForm3.Show
    Mais en dehors de ça je vous propose d'utiliser le contrôle supplémentaire Microsoft Date And Time Picker à la place des textbox, celui-ci vous épargnera de tas de souci relatifs aux dates, et de conditions dans votre code.

    Si vous pouvez implémenter un fichier exemple (Sans informations personnelles et/ou confidentielles), ce que vous tentez de faire serait plus clair.

    Cordialement
    Karim

  3. #3
    Candidat au Club
    Homme Profil pro
    etudiant
    Inscrit en
    Mars 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    voilà une partie de mon projet, je tiens compte de vos remarques. en tout cas merci

    Ca ne marche toujours, je n'arrive pas à savoir pourquoi
    Fichiers attachés Fichiers attachés

  4. #4
    Membre averti Avatar de XLRATOR
    Homme Profil pro
    Comptable Analyste
    Inscrit en
    Août 2012
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Comptable Analyste
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2012
    Messages : 226
    Points : 356
    Points
    356
    Par défaut
    Bonjour,
    En espérant vous avoir bien compris, j'attache en ce poste votre fichier que j'ai modifié de manière à ce que vous puissiez acquérir plus d'idées sur le VBA et les outils qui y sont disponibles, et vous en inspirer un peu pour votre projet.

    Bon courage
    Karim
    Fichiers attachés Fichiers attachés

  5. #5
    Candidat au Club
    Homme Profil pro
    etudiant
    Inscrit en
    Mars 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Ahhh Merci beaucoup, c'est exactement ce que je cherchais, je ne comprenais pas comment utiliser le time picker, c'est bien plus clair maintenant. encore merci
    bonne journée à toi Karim

    alexandre

  6. #6
    Membre averti Avatar de XLRATOR
    Homme Profil pro
    Comptable Analyste
    Inscrit en
    Août 2012
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Comptable Analyste
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2012
    Messages : 226
    Points : 356
    Points
    356
    Par défaut
    La propriété Custom du contrôle pourrait vous aider à mieux le comprendre sinon:

    Un petit bonus pour vous de la part de Silkyroad, Un bon tuto pour utiliser les contrôles dans des userforms:

    http://silkyroad.developpez.com/VBA/...Form/#LIII-I-3

    Cordialement
    Karim

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/06/2010, 10h17
  2. [XL-2003] Remplissage automatique après saisie TextBox
    Par Artoche dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 31/05/2010, 16h19
  3. problème de remplissage automatique de champs
    Par nunien22 dans le forum Général VBA
    Réponses: 4
    Dernier message: 02/05/2007, 14h13
  4. [VB 2005]Problème de Remplissage de Textbox
    Par D4rkTiger dans le forum Windows Forms
    Réponses: 1
    Dernier message: 12/08/2006, 18h21
  5. [C#] Remplissage automatique de 2 TextBox
    Par dacamp dans le forum ASP.NET
    Réponses: 8
    Dernier message: 29/09/2004, 17h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo