Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fin: If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, [D6]) Is Nothing Then
Bases = Array("Base de données client 1", "Base de données client 2", "Base de données client 3")
Range("G6:G14,I6:I14,L6:L14").ClearContents
If Target = "" Then Exit Sub Else Nom = Target
Application.ScreenUpdating = False
N = 0 ' Nombre de noms trouvés
For B = 0 To 2
T = Sheets(Bases(B)).[A1].CurrentRegion
For L = 2 To UBound(T)
If T(L, 1) = Nom Then
N = N + 1: Ligne = 2 * N + 4
Cells(Ligne, "G") = T(L, 2)
Cells(Ligne, "I") = T(L, 3)
Cells(Ligne, "L") = T(L, 4)
End If
Next L
Next B
End If
Fin:
End Sub