Sub toto()
Dim tab1
l = 1
Set tab1 = CreateObject("scripting.dictionary")
'------------------------------------------------------
' cumul des valeurs
'------------------------------------------------------
While Cells(l, 1) <> ""
cle = Cells(l, 1)
If tab1.exists(cle) Then
tmp = tab1(cle)
tmp(0) = tmp(0) + Cells(l, 5)
tmp(1) = tmp(1) + Cells(l, 8)
tab1(cle) = tmp
Else
tab1(cle) = Array(Cells(l, 5), Cells(l, 8))
End If
l = l + 1
Wend
'------------------------------------------------------
' ecriture résultat
'------------------------------------------------------
l = 10
c = 10
For Each cle In tab1
tmp = tab1(cle)
Cells(l, c) = cle
Cells(l, c + 1) = tmp(0)
Cells(l, c + 2) = tmp(1)
l = l + 1
Next
End Sub