alimenter deux listbox
#1
Débutant XLPages

Inscription: 25/08/2017
De madagascar

Messages: 1

Système d'exploitation:
PC
Version Excel utilisée:
2003,2007
Posté le : 11-10 15h40

Bonjour,

 

Je vous demande votre aide.

 

J'ai deux listbox, listbox1 qui recap tout les articles feuille BD (colonne ABCDHI) et lisbox2 pour voir les mouvements (colonne ABCD IJK).

Quand on click sur un article de listbox1, tout ses mouvements affiche sur la listbox2.

 

 

Exemple

si je click sur l'article nommé eau vive pm, tout les mouvements de l'eau vive affiche sur listbox2

si je click sur l'article nommé coca cola, tout les mouvements de coca cola affiche sur listbox2

 

ci-joint le fichier

 

Pièce jointe:
zip STOCK.zip   [ Taille: 60.69 Ko - Téléchargements: 5 ]
Hors Ligne
Rapport   Haut 

Re: alimenter deux listbox
#2
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1467

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016
Posté le : 13-10 20h29

Bonsoir odilolo, bienvenue sur XLpages.com

Voici une façon de faire je pense...

Préparatifs obligatoires avant de faire fonctionner le code ci-dessous :

  • J'ai nommé ta 2ème listBox : "ListBoxMOUV"
  • J'ai défini sa propriété ColumnCount à : 5
  • Ta 1ére listbox est nommée "ListBox1" (j'ai laissé tel quel)

 

CODE VBA A AJOUTER AU MODULE DE CODE DE TON USERFORM1 :

Private Sub ListBox1_Change()
'myDearFriend! - www.mdf-xlpages.com 10/2017
Dim vTab As Variant
Dim CodeArticle As String
Dim Lmax As Long, L As Long
Dim C As Byte
    'Code article sélectionné ?
    With ListBox1
        If .ListIndex < 0 Then Exit Sub
        CodeArticle = .List(.ListIndex, 1)
    End With
    'Mettre à jour la liste des MOUVements
    With ListeBoxMOUV
        'RAZ du contenu
        .Clear
        'On stocke toutes les données "MOUV" dans une variable Tableau
        vTab = Sheets("MOUV").UsedRange.Value
        Lmax = UBound(vTab, 1)
        'Pour chaque ligne du Tableau
        For L = 2 To Lmax
            If vTab(L, 1) = CodeArticle Then     'Si le CodeArticle est trouvé...
                .AddItem vTab(L, 10)                        'Date
                .List(.ListCount - 1, 1) = vTab(L, 11)      'Type
                .List(.ListCount - 1, 2) = vTab(L, 9)       'Bénéficiaire
                .List(.ListCount - 1, 3) = vTab(L, 2)       'Article (Désignation)
                .List(.ListCount - 1, 4) = vTab(L, 4)       'Quantité
            End If
        Next L
    End With
End Sub

En pièce jointe, ton classeur exemple adapté en conséquence.

 

J'espère que cette solution te conviendra.

Bien cordialement,
 

Pièce jointe:
zip PourOdilolo.zip   [ Taille: 52.05 Ko - Téléchargements: 5 ]

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes