Sub Communs()
Set f1 = Sheets("feuil1")
Set f2 = Sheets("feuil2")
Set f3 = Sheets("feuil3")
colnom1 = "C" ' adapter
colNom2 = "J" ' adapter
Set mondico1 = CreateObject("Scripting.Dictionary")
For Each c In f1.Range(colnom1 & "1:" & colnom1 & f1.[c65000].End(xlUp).Row) ' adapter
mondico1(c & " " & c.Offset(, 1)) = c.Row
Next c
Set mondico2 = CreateObject("Scripting.Dictionary")
For Each c In f2.Range("j1:j" & f2.[j65000].End(xlUp).Row) ' adapter
tmp = c & " " & c.Offset(, 1)
If mondico1.exists(tmp) Then If Not mondico2.exists(tmp) Then mondico2(tmp) = c.Row
Next c
f3.[A2].Resize(mondico2.Count, 1) = Application.Transpose(mondico2.keys)
col1 = f1.Cells.Find("*", , , , xlByColumns, xlPrevious).Column
col2 = f2.Cells.Find("*", , , , xlByColumns, xlPrevious).Column
lig = 2
For Each c In mondico2
f1.Cells(mondico1(c), 1).Resize(, col1).Copy f3.Cells(lig, 2)
f2.Cells(mondico2(c), 1).Resize(, col2).Copy f3.Cells(lig, col1 + 2)
lig = lig + 1
Next c
End Sub