Sub test3()
a = Range("A3:C" & [C65000].End(xlUp).Row)
Set dico = CreateObject("Scripting.Dictionary")
colkm = UBound(a, 2)
For i = LBound(a) To UBound(a)
clé = a(i, 1)
If dico.exists(clé) Then
If a(i, colkm) > a(dico(clé), colkm) Then dico(clé) = i
Else
dico(clé) = i
End If
Next i
ligne = 3
For Each clé In dico.keys
For k = 1 To UBound(a, 2): Cells(ligne, k + 4) = a(dico(clé), k): Next k
ligne = ligne + 1
Next
End Sub