Sub SousTotal()
Set mondico = CreateObject("Scripting.Dictionary")
For Each c In Range("a2", [a65000].End(xlUp))
mondico(c.Value) = mondico(c.Value) + c.Offset(, 1).Value
Next c
[e2].Resize(mondico.Count, 1) = Application.Transpose(mondico.keys)
[f2].Resize(mondico.Count, 1) = Application.Transpose(mondico.items)
[E1].Sort Key1:=[E2], Order1:=xlAscending, Header:=xlYes
End Sub