Private Sub Client_Change() 'combobox1
Dim Rep As String
Dim c As Range
Dim P As String
Dim PT As String
Dim PF As String
Dim PE As String
Dim firstAddress As String
'je demande le texte recherché
Contact.Clear
Téléphone.Clear
Fax.Clear
Email.Clear
Rep = Client.Value
Feuil3.Select
If Rep = "" Then
Exit Sub
End If
'recherche de doublons dans la plage
With Worksheets("feuil3").Range("A1:G10000")
'je recherche la valeur la première fois
Set c = .Find(Rep, LookIn:=xlValues)
'si la valeur existe pour la première fois
If Not c Is Nothing Then
'je stocke l'adresse de la valeur trouvée dans une variable
firstAddress = c.Address
P = Range(c.Address).Offset(0, 1).Value
PT = Range(c.Address).Offset(0, 2).Value
PF = Range(c.Address).Offset(0, 3).Value
PE = Range(c.Address).Offset(0, 4).Value
Contact.AddItem P
Téléphone.AddItem PT
Fax.AddItem PF
Email.AddItem PE
Do
'je mets en bleue la cellule trouvée
'.Font.Color = vbBlue
'je cherche le suivant
Set c = .FindNext(c)
If c.Address <> firstAddress Then
'je recommence tant que la valeur est la même et que l'adresse est différente de la première
P = Range(c.Address).Offset(0, 1).Value
PT = Range(c.Address).Offset(0, 2).Value
PF = Range(c.Address).Offset(0, 3).Value
PE = Range(c.Address).Offset(0, 4).Value
Contact.AddItem P
Téléphone.AddItem PT
Fax.AddItem PF
Email.AddItem PE
End If
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
'Feuil1.Select
Contact.ListIndex = -1
Téléphone.ListIndex = -1
Fax.ListIndex = -1
Email.ListIndex = -1
End Sub