1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| Sub Essai()
Dim c, d, x As Variant, M As Object
Application.ScreenUpdating = False
Set M = CreateObject("Scripting.Dictionary")
For Each c In Range("A2", [a65000].End(xlUp))
M(c.Value) = IIf(M.exists(c.Value), M(c.Value) + 1, 1)
Next c
[e2].Resize(M.Count, 1) = Application.Transpose(M.keys)
For Each c In Range("e2", [e65000].End(xlUp))
For Each d In Range("a2", [a65000].End(xlUp))
If c = d Then x = x + d.Offset(0, 1).Value
Next d: Range("f65536").End(xlUp)(2) = x: x = 0: Next c
'ligne ci dessous pour mettre dans l'ordre
'[e2:f65536].Sort Key1:=Range("e2"), Order1:=xlAscending, Header:=xlGuess
End Sub |
Partager