Sub Macro_bis()
Dim i As Long, Tablo, WS As Worksheet, dico As Object
Set dico = CreateObject("Scripting.Dictionary")
Set WS = Worksheets("exemple") ' à adapter
Tablo = WS.Range("A2:C" & WS.Range("A" & Rows.Count).End(xlUp).Row)
'création d'un dictionnaire avec clé=numéro-entreprise et item date la plus récente
For i = LBound(Tablo) To UBound(Tablo)
If Tablo(i, 1) > dico(Tablo(i, 2) & "-" & Tablo(i, 3)) Then
dico(Tablo(i, 2) & "-" & Tablo(i, 3)) = CDbl(Tablo(i, 1))
End If
Next
'déconcaténation de la clé et remplissage d'un tableau :en 1 la date, en 2le N° et en 3 l'entreprise
For Each clé In dico.keys
x = x + 1
Tablo(x, 1) = dico(clé)
Tablo(x, 2) = Split(clé, "-")(0)
Tablo(x, 3) = Split(clé, "-")(1)
Next
'copie du résultat à partir de D1 à adapter
WS.Range("D1").Resize(dico.Count, 3) = Tablo
End Sub