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