Public Sub Macro1()
Dim o1 As Object 'déclare la variable o1 (Onglet1)
Dim o2 As Object 'déclare la variable o2 (Onglet2)
Dim o3 As Object 'déclare la variable o3 (Onglet3)
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)
Set o1 = Sheets("recap") 'définit l'onglet o1
Set o2 = Sheets("extre") 'définit l'onglet o2
Set o3 = Sheets("accessoire") 'définit l'onglet o3
dl = o2.Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne éditée de la colonne A de l'onglet o2
Set pl = o2.Range("A2:A" & dl) 'définit la plage pl
pl.Copy o1.Range("B3") 'copie la plage pl et la colle dans B3 de l'onglet o1
Set pl = o1.Range("B3:B" & dl + 1) 'redéfinit la plage pl
For Each cel In pl 'boucle sur toutes les cellule cel de la plage pl
Set r = o3.Columns(1).Find(cel.Value, , xlValues, xlWhole) 'définit la recherche r
'si il existe au moins une occurrence trouvée dans la colonne A de l'onglet o3, récupère la référence
If Not r Is Nothing Then cel.Offset(0, 2).Value = r.Offset(0, 2).Value
Next cel 'prochaine cellule de la boucle
End Sub