Bonjour le fil, bonjour le forum,
Un peu en retard, j'envoie quand même... le code ci-dessous compare les colonnes A et B et renvoient les valeurs communes dans la colonne D :
Sub Macro1()
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim TC As Variant 'déclare la variable TC (Tableau de Cellules)
Dim NL As Integer 'déclare la variable NL (Nombre de Lignes)
Dim I As Integer 'déclare la variable I (Incrément)
Dim R As Range 'déclare la variable R (Recherche)
Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)
DL = Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne 1 (=A)
TC = Range("A1:A" & DL) 'définit le tableau de cellules TC
NL = UBound(TC, 1) 'définit le nombre de lignes NL du tableau de cellules TC
For I = 1 To NL 'boucle sur toutes les lignes I du tableau de cellules TC
'condition si la recherche R (recherche entière de la valeur ligne I colonne 1 de TC dans la colonne 2) renvoie au moins une occurrence trouvée
If Not Columns(2).Find(TC(I, 1), , xlValues, xlWhole) Is Nothing Then
''definit la cellule de destination DEST (D1 si D1 est vide, sinon la première cellule vide de la colonne D)
Set DEST = IIf(Range("D1").Value = "", Range("D1"), Cells(Application.Rows.Count, 4).End(xlUp).Offset(1, 0))
DEST.Value = TC(I, 1) 'récupère dans DEST la valeur ligne I colonne 1 de TC
End If 'fin de la condition
Next I 'prochaine ligne de la boucle
End Sub