Programmation en VB6 - problème dans le code

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

8 réponses

  1. 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
    1. 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????
      1. ç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
        1. s'il vous plait comment je peux les corriger, car j'ai ecrit 200 et 280 et 125 sans espace
          1. 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
            1. 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