Caluler les valeurs d'une zone de liste

bonjour à tous,

voici mon problème:

J'ai une zone de liste (Listbox) dans laquelle plusieurs valeurs numériques sont ajouter.

J'aimerai que grâce à un bouton (Valider), je puisse avoir la somme de toutes les valeurs présentes dans cette liste.

j'ai donc essayé ceci:

Private Sub bout4_Click()
Dim totprod As Single
totprod = zn2.ListIndex + 1
For i = 2 To 59
    totprod = totprod + zn2.ListIndex(i)
    tot.Caption = totprod
Next
End Sub

avec:

bout4 (VALIDER)

zn2 (La zone de liste contenant les différentes valeurs)

tot.caption (le label dans lequel on dois retrouvé la somme des valeurs

Bonsoir leyjah,

Listindex renvoi l'item que l'on a sélectionné, ce que tu avais fait ne pouvait pas fonctionner.

Il faut boucler sur la propriété "listcount -1" car le premier item du listbox est 0. Donc si on a 10 valeur dans l'item, on mettra "0 to 9"

C'est inutile d'initialiser la variable totprod car on vient de la déclarer au niveau de la procédure, elle donc forcément à zéro

il faut remplir le label tot une seule fois, quand on a le résultat définitif et non dans la boucle

Private Sub bout4_Click()
   Dim totprod As Single
   For i = 0 To Zn2.ListCount - 1
      If IsNumeric(Zn2.List(i)) Then totprod = totprod + CSng(Zn2.List(i))
   Next
   Tot.Caption = totprod
End Sub

A part cela quand tu fais une demande, explique clairement ce qui bloque, on ne peut pas toujours deviner ni le temps de chercher à comprendre ce que tu ne dis pas...

Rechercher des sujets similaires à "caluler valeurs zone liste"