Sub test()
Dim i&, J&
Dim D As Object, Plg As Range, T As Variant, Ttmp As Variant
Set D = CreateObject("Scripting.dictionary")
With ThisWorkbook.Sheets("Feuil1")
Set Plg = .UsedRange
T = Plg
End With
ReDim Ttmp(1 To UBound(T, 2))
For i = 2 To UBound(T, 1)
If Not D.Exists(T(i, 3) & T(i, 4)) Then
For J = LBound(T, 2) To UBound(T, 2)
Ttmp(J) = T(i, J)
Next J
D(T(i, 3) & T(i, 4)) = Ttmp
End If
Next i
Application.ScreenUpdating = False
With Plg.Offset(1, 0)
.Resize(Plg.Rows.Count - 1, Plg.Columns.Count).ClearContents
.Resize(D.Count, UBound(T, 2)) = Application.Index(D.Items, , 0)
End With
End Sub