Sub Macro1()
Dim o1 As Object 'déclare la variable o1 (onglet 1)
Dim o2 As Object 'déclare la variable o2 (onglet 2)
Dim dl1 As Integer 'déclare la variable dl1 (dernière Ligne 1)
Dim dl2 As Integer 'déclare la variable dl2 (dernière Ligne 2)
Dim pl1 As Range 'déclare la variable pl1 (PLage 1)
Dim pl2 As Range 'déclare la variable pl2 (PLage 2)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim r As Range 'déclare la variable r (Recherche)
Dim pa As String 'déclare la variable pa (première Adresse)
Set o1 = Sheets("Feuil1") 'definit l'onglet o1
Set o2 = Sheets("Feuil2") 'definit l'onglet o2
dl1 = o1.Cells(Application.Rows.Count, 3).End(xlUp).Row 'définit la dernière ligne édité dl1 de la colonne 3 (=C) de l 'onglet o1
dl2 = o2.Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne édité dl2 de la colonne 1 (=A) de l 'onglet o2
Set pl1 = o1.Range("C1:C" & dl1) 'définit la plage pl1
Set pl2 = o2.Range("A1:A" & dl2) 'définit la plage pl2
For Each cel In pl1 'boucle sur toutes les cellule éditée cel de la plage pl1
Set r = pl2.Find(cel.Value, , xlValues, xlWhole) 'définit la recherche r (recherche la valeur de la cellule de la boucle dans pl2)
If Not r Is Nothing Then 'condition : si il existe au moins une occurrence
pa = r.Address 'définit l'adresse de la première occurrence trouvé
Do 'exécute
cel.Interior.ColorIndex = 6 'colore la cellule cel
r.Interior.ColorIndex = 6 'colore l'occurrence trouvée r
Set r = pl2.FindNext(r) 'redéfinit la recherche r (occurrence suivante)
Loop While Not r Is Nothing And r.Address <> pa 'boucle tant qu'il existe de nouvelles occurrences ailleurs qu'en pa
End If 'fin de la condition
Next cel 'prochaine cellule de la boucle
End Sub