re
2 solutions :
soit tu fais référence à une deuxième collections d'adresse :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim c As Range
Dim datanoms As New Collection
Dim dataadresse As New Collection
Dim item
ComboBox1.Clear
'----------on crée la collection-----------
On Error Resume Next
For Each c In Range("d1:d" & Range("f500").End(xlUp).Row)
datanoms.Add c.Text, c.Text
dataadresse.Add c.Address, c.Text
Next c
'------------on renvoi chaque élément de la collection vers la combobox--------
For Each item In datanoms
ComboBox1.AddItem item
ComboBox1.List(x, 1) = Range(dataadresse.item(item)).Offset(0, 1).Value
x = x + 1
Next item
End Sub
soit tu boucles sur ta plage en comparant chaque cellule avec un item de ta collection et tu renvoi en colonne 2 la valeur de la cellule de droite.
Offset(0, 1) doit être adapté, on travaille sur la colonne D et on veut renvoyer en 2ème colonne la valeur de E.
la synthaxe pour le remplissage d'une colonne dans combobox est combobox1.list.
Ca commence à être de la haute voltige .
Salut
Hervé