OVH Cloud OVH Cloud

somme des valeurs d'une zone de liste

7 réponses
Avatar
leyjah
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

7 réponses

Avatar
MichD
Bonjour,

En supposant que tu as un contrôle "Listbox"
émanant de la boîte à outils "Contrôle" dans
la feuille nommée "Feuil1"

Si tu renseignes ton contrôle en utilisant la propriété
"ListFullRange" du contrôle, tu peux utiliser cette méthode
'-------------------------------
Sub test()
With Worksheets("Feuil1")
MsgBox Application.Sum(Range(.ListBox1.ListFillRange))
End With
End Sub
'-------------------------------


Si tu remplis le contrôle en utilisant une autre technique, tu
peux employer cette approche:

'--------------------------------------
Sub test1()
Dim X As Double
With Worksheets("Feuil1")
With .ListBox1
For a = 0 To .ListCount - 1
X = X + CDbl(.List(a, 0))
Next
End With
End With
MsgBox X
End Sub
'--------------------------------------


MichD
---------------------------------------------------------------
Avatar
leyjah
Le mercredi 17 Avril 2013 à 18:54 par leyjah :
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


je t'explique:
1. j'ai une liste déroulante avec plusieurs produits et une zone de texte où on entre une quantité.
2. un bouton ajouter qui permet de transférer les informations saisies dans des zones de liste synchronisées. Le nom du produit va dans la première zone (zn1), la quantité va dans la deuxième (zn2) et le montant total dans la troisième (zn3) soit( quantité * prix unit).

Je voudrais qu'avec un bouton de commande (VALIDER) je puisse avoir la somme des valeurs de la zone 2 (quantités) dans un caption.

PS: les informations de la liste déroulante sont dans une feuille de calcul excel
Avatar
MichD
Peux-tu utiliser cette adresse cjoint.com pour
publier ton classeur et nous faire parvenir ici
l'adresse que tu obtiendras?

En quoi cette procédure ne fonctionne pas?
Évidemment, tu dois adapter le nom des objets
et le nom de la feuille où sont les contrôles.
'---------------------------------
Sub test()
Dim X As Double
With Worksheets("Feuil1")
With .ListBox1
For a = 0 To .ListCount - 1
X = X + CDbl(.List(a, 0))
Next
End With
End With

Si tu veux le résultat dans un contrôle étiquette
Worksheets("Feuil1").Label1.caption = X
End Sub
'---------------------------------



MichD
---------------------------------------------------------------
Avatar
leyjah
Le mercredi 17 Avril 2013 à 18:54 par leyjah :
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


http://cjoint.com/?0Dto1NU7Kbu
Avatar
leyjah
Le mercredi 17 Avril 2013 à 18:54 par leyjah :
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


http://cjoint.com/?0Dto1NU7Kbu
Avatar
MichD
Ton bouton est dans quel formulaire?

Qu'est-ce qui ne fonctionne pas dans la procédure
que je t'ai proposée? Des messages d'erreur?
Lesquels?



MichD
---------------------------------------------------------------
Avatar
leyjah
Le vendredi 19 Avril 2013 à 17:15 par MichD :
Ton bouton est dans quel formulaire?

Qu'est-ce qui ne fonctionne pas dans la procédure
que je t'ai proposée? Des messages d'erreur?
Lesquels?



MichD
---------------------------------------------------------------


Désolé c moi qui avait fait une erreure dans la saisie du code.
Il fonctionne parfaitement .

MERCI BEAUCOUP c'est déjà un problème de résolu.

CDLT