Bonsoir à tous,
A tester,
Option Explicit
Sub test()
Dim a, i As Long, w(), txt As String
a = Sheets("feuil1").Cells(1).CurrentRegion.Value
With CreateObject("Scripting.Dictionary")
.CompareMode = 1
.Item("Espèces") = VBA.Array("Espèces", "Mailles", "Code atlas")
For i = 2 To UBound(a, 1)
txt = Join$(Array(a(i, 1), a(i, 2)), Chr(2))
If Not .exists(txt) Then
.Item(txt) = VBA.Array(a(i, 1), a(i, 2), a(i, 3))
Else
w = .Item(txt)
If a(i, 3) > w(2) Then w(2) = a(i, 3)
.Item(txt) = w
End If
Next
Sheets("feuil2").Cells(1).Resize(.Count, 3).Value = _
Application.Index(.items, 0, 0)
End With
End Sub
klin89