Comment additionner les chiffres d'une listbox

cs_dadou36 Messages postés 3 Date d'inscription dimanche 25 février 2007 Statut Membre Dernière intervention 27 février 2007 - 27 févr. 2007 à 20:49
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 - 27 févr. 2007 à 22:23
bonjour à tous

je voudrais savoir comment additionner les chiffres d'une listbox?

principe:

j'envoie grâce à 2 textbox où j'entre dans textbox1 =1 et dans la textbox2 = 10 et je remplis une liste de chiffre dans ma listbox  à l'aide d'un bouton remplir et je veux effectuer des calcul avec ses chiffres et le résultat sera envoyer dans des labels selon trois facon:
 
label1= addition de tout les chiffres de la listbox  1+2+3+4+5+6+7+8+9+10
label2 =   addition de tout les chiffres impair de la listbox 2+4+6+8+10
label3 = addition de tout les chiffres impair de la listbox 1+3+5+7+9

<li>
 
</li>

11 réponses

violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
27 févr. 2007 à 20:57
Violent Ken

Salut, quelques élément de réponse là dedans :





Private Sub Form_Load()
Dim x As Long
Dim pair As Long
Dim impair As Long
   impair 0: pair 0
   For x = Val(Text1.Text) - 1 To Val(Text2.Text)
       If (List1.List(x) / 2) = Int(List1.List(x) / 2) Then
           pair = pair + Val(List1.List(x))
       Else
           impair = impair + Val(List1.List(x))
       End If
   Next x
       
End Sub


By Renfield





@+
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
27 févr. 2007 à 21:00
Et si tu regardais ce que fais ceci :

une Form une listbox List1 et 3 labels Label1, Label2 et label3

et ce code :

Private Sub Form_Activate()
  For i = 1 To 10
    List1.AddItem i
  Next
End Sub




Private Sub Command1_Click()
  nb1 = 0
  nb2 = 0
  nb3 = 0
  For i = 0 To List1.ListCount - 1
    nb1 = nb1 + List1.List(i)
    If List1.List(i) Mod 2 = 0 Then
      nb2 = nb2 + List1.List(i)
    Else
      nb3 = nb3 + List1.List(i)
    End If
  Next
  Label1.Caption = nb1
  Label2.Caption = nb2
  Label3.Caption = nb3
End Sub
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
27 févr. 2007 à 21:02
Ah !
Croisés avec Violent Ken
Salut, Vilolent Ken
0
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
27 févr. 2007 à 21:03
Violent Ken

Salut ;)

J'avoue que l'utilisation du Modulo est bien entendu préférable au piètre stratagème (a/2)=int(a/2)...

Mais par contre, nb3 = nb3 + List1.List(i) me gêne un peu (nombre+ string).

@+ (dadou36 ==> tu devrais pouvoir conclure avec tout çà ^^)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
27 févr. 2007 à 21:06
Tu as raison, VK
Un
+ val(list14list(i))
serait plus orthodoxe.
0
cs_dadou36 Messages postés 3 Date d'inscription dimanche 25 février 2007 Statut Membre Dernière intervention 27 février 2007
27 févr. 2007 à 21:08
ouais  merci les gars
0
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
27 févr. 2007 à 21:09
Violent Ken

D'ailleurs, pour être complètement exaustif, "Label3.Caption nb3" devrait devenir "Label3.Caption Str$(nb3)".

M'enfin c'est du détail (et j'en profite surtout pour signaler que j'ai probablement fait une erreur dans la borne supérieure du For ==> voir réponse de jmfmarques pour la plage correcte).

@+
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
27 févr. 2007 à 21:09
Re !
Oh...
Comment on dit, déjà ?  Ah oui : l'hôpital qui se moque de la charité !...

Dis donc, Vilolent ... t'as une idée de qui a pu écrire (plus haut) :

 If (List1.List(x) / 2) = Int(List1.List(x) / 2) Then.....

Amitiés
0
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
27 févr. 2007 à 21:11
Violent Ken

lol !! C'est en effet bien stupide de ma part.... comme quoi quand on va trop vite...

@+ ;)
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
27 févr. 2007 à 22:20
Test de parité doit être fait comme cela :

If (a And 1) Then
     '# Impair
Else
    '# Pair
End If

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
27 févr. 2007 à 22:23
Très juste, Renfield.
Merci de le rappeler (on a tendance à l'oublier, ce truc là, qui est beaucoup mieux que l'udilisation de Mod).
0
Rejoignez-nous