Programmation en VB6 - problème dans le code

Fermé
magiabd - 25 mai 2011 à 10:18
 magiabd - 25 mai 2011 à 15:11
Bonjour,


bonjour;
j'ai un code en vb qui calcule la somme d'une colonne MSFlexGrid et le voila:
Private Sub Command3_Click()
Dim total As Long, x As Long
total = 0
For x = 1 To MFG.Rows - 1 ' si pas d'entête de colonne mettre 0 à la place du 1
   MFG.Col = 2 ' mets ton numéro de colonne ( attention la première colonne est la colonne 0)
   MFG.Row = x
   If MFG.Text = "" Then Exit For ' si cellule vide on sort
   total = total + CSng(MFG.Text)
Next x
sommetxt.Text = total

End Sub


toujours il m'afiche 0 malgres dans ma colonne existe des valeurs.
s'il vous pouvez vous m'aider.
et merci d'avance
A voir également:

8 réponses

Bonjour,

Essaye ça

Private Sub Command3_Click()
Dim total As Long, x As Long
total = 0
For x = 1 To MFG.Rows - 1 ' si pas d'entête de colonne mettre 0 à la place du 1
   MFG.Col = 2 ' mets ton numéro de colonne ( attention la première colonne est la colonne 0)
   MFG.Row = x
   '
   'If MFG.Text = "" Then Exit For ' si cellule vide on sort
   'total = total + CSng(MFG.Text)
   '
   total=total + val(MFG.Text)
   '
Next x
sommetxt.Text = total

End Sub
0
merci pour la réponse mais il affiche 4 alors dans ma colonne il ya 200 et 280;
je sait pas d'ou vient le 4????
0
ça vient certainement du format d'ecriture des nombre
val(200) -> 200
val(2 00) -> 2 (avec un espace)
val(2,80) -> 2
val(2.80) -> 2.8
0
j'ai ajouter à ma colonne la valeur 125 il m'affiche 6!!!!
0

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

Posez votre question
s'il vous plait comment je peux les corriger, car j'ai ecrit 200 et 280 et 125 sans espace
0
Essayons une autre syntaxe

Private Sub Command3_Click()
Dim total As Long, x As Long
total = 0
For x = 1 To MFG.Rows - 1 ' si pas d'entête de colonne mettre 0 à la place du 1
total=total + Val(MFG.TextMatrix(x, 2)
Next x
sommetxt.Text = total
End Sub
0
toujours il m'affiche 6!!!!!!!!!!!!!!!!!!!!!!!!
0
ca marche bien maintenant quand j'ai essayé de remplacer la colonne par 3!!!
Private Sub Command3_Click()
Dim total As Long, x As Long
total = 0
For x = 1 To MFG.Rows - 1 ' si pas d'entête de colonne mettre 0 à la place du 1
total=total + Val(MFG.TextMatrix(x,3) <-------------------------------------
Next x
sommetxt.Text = total
End Sub

merci bien c tres gentil d'avoir m'aider
0