Option Explicit
Sub test()
Dim a, i As Long, j As Long, w, dico As Object
Set dico = CreateObject("Scripting.Dictionary")
dico.CompareMode = 1
'source
a = ThisWorkbook.Sheets(1).Range("L1").CurrentRegion.Value
ReDim w(1 To UBound(a, 2))
For i = 2 To UBound(a, 1)
For j = 1 To UBound(a, 2)
w(j) = a(i, j)
Next
dico(a(i, 1)) = w
Next
'cible
With Workbooks.Open(ThisWorkbook.Path & "\Cible.xlsm")
a = .Sheets(1).Range("R1").CurrentRegion.Value
For i = 2 To UBound(a, 1)
If dico.Exists(a(i, 1)) Then
For j = 3 To UBound(a, 2)
a(i, j) = dico(a(i, 1))(j)
Next
End If
Next
With .Sheets(1)
.Range("R1").Resize(UBound(a, 1), UBound(a, 2)).Value = a
End With
End With
End Sub