Commenter cela va être difficile car j'ai appris "sur le tas" sans aucune tournure académique.
Grosso modo je place le contenu des deux feuilles dans des tableaux virtuels (A et B)
a = Feuil1.UsedRange
b = Feuil2.UsedRange
d'ailleurs cela peu être optimisé en ne sélectionnant que les données que vous voulez, pour ma part, par défaut je place tout dans une mémoire et j'utilise les tableaux virtuels car ils ont réputations d'être plus rapide.
Puis ensuite je crée un "dictionnaire" où j'y entre dedans la liste des prénoms
Set c = CreateObject("scripting.dictionary") 'Création du dictionnaire
c.comparemode = 1 'affectation d'une propriété de comparaison en mode texte
For i = 2 To UBound(a) 'départ d'une boucle qui ira de la ligne 2 à Ubound(a) qui est le nombre totale de ligne dans le tableau A
c.Item(a(i, 1)) = "" 'je crée un prénom dans le dictionnaire (ou mon prénom sera la valeur qu'il y a dans le tableau A, à la ligne i et à la colonne 1)
Next 'j'enregistre le prénom suivant
For i = 2 To UBound(b) 'pour une valeur de 2 au nombre de prénom a analyser dans la feuille onglet 2
If c.exists(b(i, 2)) Then 'si la prénom b(i,2) qui est = à la ieme ligne de la colonne 2 du tableau b, existe dans le dictionnaire C alors
Feuil2.Cells(i, 7) = 1 j'écris un un dans la cellule G de la ieme ligne
End If
Next
Pardon mais ce n'est pas évident d'être clair...