Sub Macro1()
Dim dl As Integer 'déclare la variable dl (Dernière Ligne)
Dim pl As Range 'déclare la variable pl (PLage)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim r As Range 'déclare la variable r (Recherche)
With Sheets("BD1") 'prend en compte l'onglet "BD1"
dl = .Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne dl
Set pl = .Range("A2:A" & dl) 'définit la plage pl
For Each cel In pl 'boucle sur toutes les cellules cel de la plage pl
Set r = Sheets("BD2").Columns(1).Find(cel.Value, , xlValues, xlWhole) 'définit la recherche r
If Not r Is Nothing Then .Range(cel, cel.Offset(0, 3)).Copy r 'si il existe au moins une occurrence trouvée, récupère la ligne
Next cel 'prochaine cellule de la boucle
End With 'fin de la prose en compte de l'onglet "BD1"
End Sub