Hervé
XLDnaute Barbatruc
bonjour
pour repondre à un post, j'ai voulu utiliser un dictionary (j'aime bien ce bidule
)
un dictionary est une collection plus poussée, qui nécessite l'activation de la bibliothèque Microsoft Scripting Runtime dans Outils\Références.
le but de ce code est de faire le cumul de la colonne B suivant les items de la colonne A (sans créer de doublons), voir la piece jointe.
le code :
normalement, pour remplir une collection ou un dictionary on utilise la méthode .add, or ce code à l'air de fonctionner sans cette méthode ![Eek! :eek: :eek:](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
quelqu'un pourrait'il m'expliquer ce mystère ?
en piece jointe un petit fichier pour compléter mon propos (pensez à activer la référence).
en vous remerciant par avance.
salut
pour repondre à un post, j'ai voulu utiliser un dictionary (j'aime bien ce bidule
un dictionary est une collection plus poussée, qui nécessite l'activation de la bibliothèque Microsoft Scripting Runtime dans Outils\Références.
le but de ce code est de faire le cumul de la colonne B suivant les items de la colonne A (sans créer de doublons), voir la piece jointe.
le code :
Code:
Public Sub toto()
'La bibliothèque Microsoft Scripting Runtime
' doit être coché dans Outils\Références...
Dim data As New Dictionary
Dim tablo, i As Integer
tablo = Range("a2:b" & Range("a65536").End(xlUp).Row)
For i = 1 To UBound(tablo)
data.Item(tablo(i, 1)) = data.Item(tablo(i, 1)) + tablo(i, 2)
Next i
Range("H1", Cells(data.Count, "H")) = Application.Transpose(data.Items)
Range("G1", Cells(data.Count, "G")) = Application.Transpose(data.Keys)
End Sub
quelqu'un pourrait'il m'expliquer ce mystère ?
en piece jointe un petit fichier pour compléter mon propos (pensez à activer la référence).
en vous remerciant par avance.
salut