Bonjour vip4rk, eriic, le forum
Essaie ceci :
Option Explicit
Sub test()
Dim a, e, s, i As Long, n As Long, dico As Object
Set dico = CreateObject("Scripting.Dictionary")
dico.CompareMode = 1
With Sheets("Feuil1")
a = .Cells(1).CurrentRegion.Value
For i = 2 To UBound(a, 1)
If Not dico.Exists(a(i, 1)) Then
Set dico(a(i, 1)) = CreateObject("Scripting.Dictionary")
dico(a(i, 1)).CompareMode = 1
End If
dico(a(i, 1))(a(i, 3)) = dico(a(i, 1))(a(i, 3)) + a(i, 2)
Next
n = 1
For Each e In dico
.Cells(n, 8) = "Index " & e
For Each s In dico(e)
n = n + 1
.Cells(n, 8) = dico(e)(s) & " " & s
Next
n = n + 2
Next
End With
Set dico = Nothing
End Sub
klin89