Ajout de données Listbox
Bonjour,
Etant nouveau sur le forum et plutôt novice en programmation VBA, je m'excuse d'avance pour les inepties que je vais pouvoir dire.
Je souhaite créer un ficher tel que:
- Colonne 1: liste de données
- Colonne 2: choix de données à cocher permettant de décrire la donnée en colonne 1, à l'aide d'une listbox ("listbox2")
- Colonne 3: choix de données à cocher dépendantes des données cochées en colonne 2, à l'aide d'une listobox également
("listbox1")
A l'aide de différents fichiers/aide/tutos, j'ai pu programmer un fichier me permettant de d'effectuer l'opération comme je le souhaite si la Colonne 2 ne contient qu'une seule valeur cochée.
En revanche, lorsque deux ou plus valeurs sont cochées en Colonne 2, je n'arrive pas à gérer l'affichage de cette listbox1 étant la concaténation de données attendues. En effet, cette listbox1 ne prends en compte que les données résultantes de la dernière valeur de la Colonne 2 cochée, malgré l'instruction AddItem.
Ci-dessous la partie du code concernée ainsi que le fichier joint.
Val = VBA.Split(Cells(ActiveCell.Row, 2), Chr(10)) 'permet de récupérer les valeurs contenues dans la cellule de la Colonne 2
'la boucle for permet d'aller chercher les valeurs résultantes des données en colonne 2
For i = 0 To UBound(Val)
i1 = Application.WorksheetFunction.Match(Val(i), Worksheets("Données").Range("Métiers"), 0) - 1
If Worksheets("Données").Range("A1").Offset(0, i1).End(xlDown).Row = 2 Then
Me.ListBox1.AddItem
Me.ListBox1.List() = Array(Worksheets("Données").Range(Worksheets("Données").Range("A1").Offset(1, i1), _
Worksheets("Données").Range("A1").Offset(0, i1).End(xlDown)).Value)
Else
Me.ListBox1.AddItem
Me.ListBox1.List() = Worksheets("Données").Range(Worksheets("Données").Range("A1").Offset(1, i1), _
Worksheets("Données").Range("A1").Offset(0, i1).End(xlDown)).Value
End IfJ'ai également essayé de contenir les valeurs dans un tableau puis de les ajouter à la Listbox mais sans succès.
Quelle serait une solution ?
Merci d'avance pour votre aide.