Sommer données d'une collection

bonjour le forum,

bonjour à tous,

je recherche de l'aide pour sommer les données d'une collection.

ça marche avec .Count pour connaitre le nombre d'items

 .Lbl_Quantités2.Caption = Coll_Quantités.Count

mais pas avec .Sum pour additionner les items

 .Lbl_Quantités1.Caption = WorksheetFunction.Sum(Coll_Quantités)

merci de m'aider svp.

Pedro.

Bonjour Dudesson, bonjour le forum,

Peut-être en faisant tune boucle sur chaque élément de la collection avec une variable Total...

bonjour ThauTheme

bonjour le forum,

bonne piste, mais j'ai du mal à la faire aboutir pour le moment =

        Dim z As Variant
        For Each z In Coll_Quantités
        .Lbl_Quantités.Caption = Application.Sum(z)
     '  Exit For
    Next z

là il me met juste la dernière valeur sans les sommer toutes

qd je déboque Exit For, il me met juste la première valeur

Pedro.

un peu tiré par les cheveux, mais le mieux que j'ai pu faire en parcourant le net, si jamais qlq a une proposition je suis preneur

   If Coll_Quantités.Count = 1 Then
Coll_Quantités.Add 1
        .Lbl_Quantités.Caption = Application.Sum(Coll_Quantités.Item(1))
     ElseIf Coll_Quantités.Count = 2 Then
Coll_Quantités.Add 1: Coll_Quantités.Add 2
        .Lbl_Quantités.Caption = Application.Sum(Coll_Quantités.Item(1), Coll_Quantités.Item(2))
     ElseIf Coll_Quantités.Count = 3 Then
Coll_Quantités.Add 1: Coll_Quantités.Add 2: Coll_Quantités.Add 3
        .Lbl_Quantités.Caption = Application.Sum(Coll_Quantités.Item(1), Coll_Quantités.Item(2), Coll_Quantités.Item(3))
     ElseIf Coll_Quantités.Count = 4 Then
Coll_Quantités.Add 1: Coll_Quantités.Add 2: Coll_Quantités.Add 3: Coll_Quantités.Add 4
        .Lbl_Quantités.Caption = Application.Sum(Coll_Quantités.Item(1), Coll_Quantités.Item(2), Coll_Quantités.Item(3), _
        Coll_Quantités.Item(4))
     ElseIf Coll_Quantités.Count = 5 Then
Coll_Quantités.Add 1: Coll_Quantités.Add 2: Coll_Quantités.Add 3: Coll_Quantités.Add 4: Coll_Quantités.Add 5
        .Lbl_Quantités.Caption = Application.Sum(Coll_Quantités.Item(1), Coll_Quantités.Item(2), Coll_Quantités.Item(3), _
        Coll_Quantités.Item(4), Coll_Quantités.Item(5))
     ElseIf Coll_Quantités.Count = 6 Then
Coll_Quantités.Add 1: Coll_Quantités.Add 2: Coll_Quantités.Add 3: Coll_Quantités.Add 4: Coll_Quantités.Add 5: Coll_Quantités.Add 6
        .Lbl_Quantités.Caption = Application.Sum(Coll_Quantités.Item(1), Coll_Quantités.Item(2), Coll_Quantités.Item(3), _
        Coll_Quantités.Item(4), Coll_Quantités.Item(5), Coll_Quantités.Item(6))
     End If

merci d'avance

Pedro

Re,

Je verrais plutôt un truc du style :

Dim I As Integer
Dim T as double

For I = 1 To Coll_Quantités.Count
     T = T + Coll_Quantité.Item(I)
Next I
Lbl_Quantités.Caption = T

bonjour ThauTheme

bonjour le forum,

c'est parfait.

merci beaucoup.

Pedro.

je suis rassuré de lire ça...je suis pas seul!!!

"VBA m'éclate, les formules m'ennuient ! Je n'y peux rien c'est comme ça..."

Re,

Arf ! J'ai mis car j'en avais mare de me faire dénigrer par les "formulistes"... Pour certains, faire du VBA ça leur fait tomber les poils... Pour moi c'est un jeu.
En revanche, ils ont certainement raison quant à la fiabilité du résultat !

Rechercher des sujets similaires à "sommer donnees collection"