Bonjour,
Avec un petite macro
Option Explicit
Sub Communs()
'déclaration des variables
Dim F1 As Worksheet, F2 As Worksheet, F3 As Worksheet
Dim MonDico1, MonDico2, c, tmp, lig As Long, Col1%
'initialisation des variables
Set F1 = Sheets("CAS 1")
Set F2 = Sheets("CAS 2")
Set F3 = Sheets("RESULTATS")
Set MonDico1 = CreateObject("Scripting.Dictionary")
'boucle sur toute les lignes non vide de la colonne A de la feuille F1 à partie de la ligne 2
For Each c In F1.Range("A2:A" & F1.[A1048576].End(xlUp).Row)
'place en mémoire les données de la colonne A et C
MonDico1(c & " " & c.Offset(, 2)) = c.Row
Next c
Set MonDico2 = CreateObject("Scripting.Dictionary")
'boucle sur toute les lignes non vide de la colonne A de la feuille F2 à partie de la ligne 2
For Each c In F2.Range("A2:A" & F2.[A1048576].End(xlUp).Row)
'place en mémoire les données de la colonne A et C
tmp = c & " " & c.Offset(, 2)
'compare sur les deux dictionnaire si des données sont identiques et les place les lignes en mémoire
If MonDico1.exists(tmp) Then If Not MonDico2.exists(tmp) Then MonDico2(tmp) = c.Row
Next c
Col1 = F1.[A1].CurrentRegion.Columns.Count 'Nb de colonne à reporter (compte les colonnes de la ligne 1)
lig = 2
For Each c In MonDico2
'boucle pour renseigner les données en doublons et les placer dans la feuille F3 à partir ligne 2
F1.Cells(MonDico1(c), 1).Resize(, Col1).Copy F3.Cells(lig, 1)
lig = lig + 1 'se déplace d'une ligne
Next c
End Sub
DR EXCEL.xlsm (20,3 Ko)