Private Sub ComboBox1_DropButtonClick() 'au clic sur le triangle de la ComboBox
Dim x As Byte 'déclare la variable x
'la ComboBox1 est configuré ainsi (voir propriétés):
'ComboBox1.ColumnCount=2 (2 colonnes)
'ComboBox1.BoundColumn=2 (la seconde colonne définit la priopriété Value)
'ComboBox1.ColumnWidth=;0 pt (la seconde colonne est masquée)
ComboBox1.Clear 'vide la ComboBox1
x = 0 'définit la variable x
'boucle sur toutes les cellule éditées de la colonne A (à partir de A12)
For Each cel In Range('A12:A' & Range('A65536').End(xlUp).Row)
'condition : si la clellule n'est pas vide
If cel.Value <> '' Then
ComboBox1.AddItem cel.Value 'ajoute la valeur de la cellule
ComboBox1.List(x, 1) = cel.Row 'ajoute le numéro de ligne de la cellule
x = x + 1 'redéfinit la variable x
End If 'fin de la condition
Next cel
End Sub
Private Sub ComboBox1_Change() 'au changement de la ComboBox
If ComboBox1.ListCount = 0 Then Exit Sub 'si la comboBox est vide, sort de la procédure
'active la cellule correspondante
'la propriété BoundColumn renvoie le numéro de ligne
'de la valeur sélectionnée dans la ComboBox1
Cells(ComboBox1.Value, 1).Select 'active la cellule correspondante
End Sub