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 dans un code de remplissage depuis listbox au textbox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 28
    Par défaut Problème dans un code de remplissage depuis listbox au textbox
    Bonjour,
    j'ai un problème dans un userform lorsque tapé un nom du client(e) dans la textbox et apparaît dans la listbox et après avoir appuyé sur ce dernier s’affiche les données du client dans les autres textbox mais une seul textbox reste vide. et j'essayé de trouver le problème, mais n'a pas réussi.
    SVP aidez mois pour trouve le problème.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre émérite
    Homme Profil pro
    Programmeur analyste
    Inscrit en
    Février 2009
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur analyste
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2009
    Messages : 546
    Par défaut
    Bonjour,
    quel textbox ?
    et quel colonne veux-tu afficher dans ce textbox ?

  3. #3
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 28
    Par défaut
    gnain merci beaucoup de votre intérêt.
    et pour votre question ce la textbox98 et la colonne qui afficher dans ce textbox est la colonne "J" colonne "N°10"

  4. #4
    Membre émérite
    Homme Profil pro
    Programmeur analyste
    Inscrit en
    Février 2009
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur analyste
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2009
    Messages : 546
    Par défaut
    Pourquoi ne pas fonctionner comme cela

    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    Private Sub TextBox88_Change()
    On Error Resume Next
    TextBox96 = ""
    TextBox97 = ""
    TextBox98 = ""
    TextBox89 = ""
    TextBox90 = ""
    TextBox91 = ""
    TextBox92 = ""
    TextBox93 = ""
    TextBox94 = ""
    TextBox95 = ""
    TextBox118 = ""
    TextBox119 = ""
     
    ListBox4.Visible = True
    Dim ws As Worksheet
     
    Dim LastRow As Integer
    Dim M As String
    Dim q, F
    ListBox4.Clear
    If TextBox88.Text = "" Then GoTo 1
    M = TextBox88.Text
    Set ws = Sheets("Clients")
    With ws
        LastRow = .Cells(.Rows.Count, "C").End(xlUp).Row
        Set q = .Range("C9:C" & LastRow).Find(M)
        If Not q Is Nothing Then
        F = q.Address
     
        If Application.WorksheetFunction.Search(M, q, 0) = 1 Then
            ListBox4.AddItem q.Value
     
            TextBox89 = q.Offset(0, 1).Value 'adaptateur parler
            TextBox90 = q.Offset(0, -1).Value 'date
            TextBox91 = q.Offset(0, 4).Value '1500
            TextBox92 = q.Offset(0, 2).Value '5
            TextBox93 = q.Offset(0, 6).Value '7500
            TextBox94 = q.Offset(0, 8).Value + q.Offset(0, 9).Value '0
            TextBox95 = q.Offset(0, 10).Value '7500
            TextBox96 = q.Offset(0, 3).Value '380
            TextBox97 = q.Offset(0, 5).Value '1900
            TextBox98 = q.Offset(0, 7).Value 'rien
     
     
             End If
             Set q = .Range("C9:C" & LastRow).FindNext(q)
     
         End If
    End With
    1
    End Sub

  5. #5
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 28
    Par défaut
    Bonjour,
    gnain merci beaucoup exactement ce que je veux.
    mais quand il ya un nom en double plus d'une fois dans la page du client, et lorsque écrire ce dernier dans les textbox il affiche qu'une seul fois dans la listbox.
    merci

  6. #6
    Membre émérite
    Homme Profil pro
    Programmeur analyste
    Inscrit en
    Février 2009
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur analyste
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2009
    Messages : 546
    Par défaut
    Bonjour,
    dans ce cas oublier le dernier code que je vous ai donné.

    si on revient à votre code original, le pourquoi ça ne fonctionnait pas est que
    une listbox rempli comme cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    listbox4.list(X,Y) = Valeur
    ne peut contenir plus de 10 colonnes
    alors pour palier à cela il faut remplir la listbox avec un array
    comme cela

    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    Private Sub TextBox88_Change()
    On Error Resume Next
    ListBox4.Visible = True
    Dim ws As Worksheet
    Dim V As Integer
    V = 1
    Dim arrLstBox(1 To 100, 1 To 50)
    Dim LastRow As Integer
    Dim M As String
    Dim q, F
    ListBox4.Clear
    
    If TextBox88.Text = "" Then GoTo 1
    M = TextBox88.Text
    Set ws = Sheets("Clients")
    With ws
         LastRow = .Cells(.Rows.Count, "C").End(xlUp).Row
        Set q = .Range("C9:C" & LastRow).Find(M)
        ListBox4.ColumnCount = 50
        If Not q Is Nothing Then
            F = q.Address
            Do
                If Application.WorksheetFunction.Search(M, q, 0) = 1 Then
                    ListBox4.AddItem q.Value
                     
                    arrLstBox(V, 1) = q.Value
                    arrLstBox(V, 2) = q.Offset(0, 1).Value
                    arrLstBox(V, 3) = q.Offset(0, -1).Value
                    arrLstBox(V, 4) = q.Offset(0, 4).Value
                    arrLstBox(V, 5) = q.Offset(0, 2).Value 'qte
                    arrLstBox(V, 6) = q.Offset(0, 6).Value
                    arrLstBox(V, 7) = q.Offset(0, 8).Value + q.Offset(0, 9).Value
                    arrLstBox(V, 8) = q.Offset(0, 10).Value
                    arrLstBox(V, 9) = q.Offset(0, 3).Value
                    arrLstBox(V, 10) = q.Offset(0, 5).Value
                    arrLstBox(V, 11) = q.Offset(0, 3).Value
                    arrLstBox(V, 12) = q.Offset(0, 5).Value
                    arrLstBox(V, 13) = q.Offset(0, 3).Value                
                    V = V + 1
                End If
                Set q = .Range("C9:C" & LastRow).FindNext(q)
            Loop While Not q Is Nothing And q.Address <> F
            ListBox4.List = arrLstBox()
        End If
    End With
    1
    TextBox96 = ""
    TextBox97 = ""
    TextBox98 = ""
    TextBox89 = ""
    TextBox90 = ""
    TextBox91 = ""
    TextBox92 = ""
    TextBox93 = ""
    TextBox94 = ""
    TextBox95 = ""
    TextBox118 = ""
    TextBox119 = ""
    End Sub

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 17/10/2006, 15h35
  2. Problème dans le code?
    Par Arch Enemy dans le forum C
    Réponses: 5
    Dernier message: 15/08/2006, 11h05
  3. [MySQL] Un problème dans le code PHP
    Par jack_1981 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 31/07/2006, 11h06
  4. Réponses: 10
    Dernier message: 06/10/2005, 22h25
  5. Quel est le problème dans ce code ?
    Par Luther13 dans le forum C
    Réponses: 12
    Dernier message: 26/08/2003, 16h09

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