Private Sub ComboBox1_Change()
Dim cel As Range 'déclare la variable cel
With ListeBox1
.ColumnCount = 2 ' nombre de colonne
.ColumnWidths = "60;60" ' largeur des colonnes
End With
Me.ListeBox1.Clear 'vide la ListBox1
'boucle sur toute les cellules éditées de la colonne B
For Each cel In Sheets("Test").Range("B2:B" & Sheets("Test").Range("B65536").End(xlUp).Row)
If CStr(cel.Value) = Me.ComboBox1.Value Then 'condition : si la valeur de la cellule (convertie en texte) équivaut à la valeur de la Com,boBox1
With Me.ListeBox1 'prend en compte la ListBox1
.AddItem cel.Offset(0, -1).Value 'ajoute le nom en colonne A
.Column(1, .ListCount - 1) = cel.Row 'ajoute le numéro de ligne (facultatif mais permet ensuite d'atteindre ce nom)
'(ces numéros n'apparaissent pas car l'espace attribué à cette partie est de'finit comme nul dans la propriété ColumWidths de la LisBox1)
End With 'fin de la prise en compte de la ListBox1
With Me.ListeBox1 'prend en compte la ListBox1
.AddItem cel.Offset(0, 1).Value 'ajoute le nom en colonne C
.Column(2, .ListCount - 1) = cel.Row 'ajoute le numéro de ligne (facultatif mais permet ensuite d'atteindre ce nom)
'(ces numéros n'apparaissent pas car l'espace attribué à cette partie est de'finit comme nul dans la propriété ColumWidths de la LisBox1)
End With 'fin de la prise en compte de la ListBox1
End If 'fin de la condition
Next cel 'prochaine cellule édité de la colonne B
End Sub