Sub Communs()
a = Sheets(1).Range("B2:B" & Sheets(1).[B65000].End(xlUp).Row)
Set MonDico1 = CreateObject("Scripting.Dictionary")
For i = 1 To UBound(a)
MonDico1(a(i, 1)) = i
Next i
b = Sheets(2).Range("B2:B" & Sheets(2).[B65000].End(xlUp).Row)
Tbl2 = Sheets(2).Range("A2:G" & Sheets(2).[B65000].End(xlUp).Row)
Set mondico2 = CreateObject("Scripting.Dictionary")
For i = 1 To UBound(b)
If MonDico1.exists(b(i, 1)) Then If Not mondico2.exists(b(i, 1)) Then mondico2(b(i, 1)) = i
Next i
ReDim Tbl3(1 To mondico2.Count, 1 To UBound(Tbl2, 2))
j = 0
For Each k In mondico2.keys
j = j + 1: ligne = mondico2(k)
For i = 1 To UBound(Tbl2, 2)
Tbl3(j, i) = Tbl2(ligne, i)
Next i
Next k
Sheets(3).[A2].Resize(UBound(Tbl3), UBound(Tbl3, 2)) = Tbl3
End Sub