Je reviens de nouveau vers vous car je bloque sur un code.
J'aimerai inscrire dans une listbox les valeurs d'une colonne dont la 1ère ligne serait un mot (critère) issus d'un combobox.
Ex :
les valeurs de la combobox seraient celles de la ligne 1.
Si la valeur de la combobox est test1 (c'est à dire la cellule D1)
alors mettre les valeurs de la colonne D dans la lisbox
Voici le fichier test pour que cela soir plus claire.
Je pensais faire une boucle sur la ligne 1
et sélectionner la colonne dans la valeur de la combobox
Mais je sais pas faire
Merci pour votre aide
Re : Copier valeur dans une lisbox à partir d'un critère
Bonsoir joums,
Une macro pour ajouter les Test1 à Testn ds la combobox, à l'ouverture de l'usf :
Code:
Private Sub UserForm_Initialize()
Set c = Range("D1")
Do While c <> ""
Me.ComboBox1.AddItem c
Set c = c(1, 2)
Loop
End Sub
Une macro pour, en fonction du choix de la combo, afficher les bonnes données ds la listbox :
Code:
Private Sub ComboBox1_Change()
Set c = Range("D1")
Do While c <> Me.ComboBox1
Set c = c(1, 2)
Loop
Set c = c(2, 1)
Do While c <> ""
Me.ListBox1.AddItem c
Set c = c(2, 1)
Loop
End Sub
Re : Copier valeur dans une lisbox à partir d'un critère
Re,
Petit oubli : pas remis la listbox à 0 à chaque modif de la combo !!!
Il faut ajouter une ligne dans la macro :
Private Sub ComboBox1_Change() Me.ListBox1.Clear
Set c = Range("D1")
Do While c <> Me.ComboBox1
Set c = c(1, 2)
Loop
Set c = c(2, 1)
Do While c <> ""
Me.ListBox1.AddItem c
Set c = c(2, 1)
Loop
End Sub
Re : Copier valeur dans une lisbox à partir d'un critère
Bonjour Joums,
La macro part de D1, cherche la valeur de la combobox. Lorsqu'elle la trouve, elle descend les lignes jusqu'à temps de trouver une valeur vide et aliment la listbox avec ce qu'elle trouve dans les cellules visitées.