Private Sub T_recherche_Change()
If Me.T_recherche.Text = "" Then Exit Sub
Dim rRow As Range
Dim SearchTerm As String
Dim x As Integer
SearchTerm = VBA.LCase("*" & T_recherche.Text & "*")
With Me.ListBox
.Clear
.ColumnCount = 3
.ColumnWidths = "50 pt;50 pt;50 pt"
For Each rRow In Range(Application.ThisWorkbook.Worksheets("clients").Cells(1, 1), Application.ThisWorkbook.Worksheets("clients").Cells(Rows.Count, 2).End(xlUp)).Resize(, 15).Rows
If VBA.LCase(VBA.CStr(rRow.Range("C2"))) Like SearchTerm Then ' Prénom
.AddItem ""
.List(.ListCount - 1, 0) = rRow.Range("C2").Address(False, False) ' to get range address
' .List(.ListCount - 1, 1) = rRow.Range("A2").Text
.List(.ListCount - 1, 1) = rRow.Range("A2")
.List(.ListCount - 1, 2) = rRow.Range("C2")
ElseIf VBA.LCase(VBA.CStr(rRow.Range("D2"))) Like SearchTerm Then ' Nom
.AddItem ""
.List(.ListCount - 1, 0) = rRow.Range("D2").Address(False, False) ' to get range address
' .List(.ListCount - 1, 1) = rRow.Range("A2").Text
.List(.ListCount - 1, 1) = rRow.Range("A2")
.List(.ListCount - 1, 2) = rRow.Range("D2")
ElseIf VBA.LCase(VBA.CStr(rRow.Range("J2"))) Like SearchTerm Then ' Téléphone
.AddItem ""
.List(.ListCount - 1, 0) = rRow.Range("J2").Address(False, False) ' to get range address
' .List(.ListCount - 1, 1) = rRow.Range("A2").Text
.List(.ListCount - 1, 1) = rRow.Range("A2")
.List(.ListCount - 1, 2) = rRow.Range("J2")
ElseIf VBA.LCase(VBA.CStr(rRow.Range("K2"))) Like SearchTerm Then ' Email
.AddItem ""
.List(.ListCount - 1, 0) = rRow.Range("K2").Address(False, False) ' to get range address
' .List(.ListCount - 1, 1) = rRow.Range("A2").Text
.List(.ListCount - 1, 1) = rRow.Range("A2")
.List(.ListCount - 1, 2) = rRow.Range("K2")
End If
Next rRow
.ForeColor = &H404040
End With
End Sub