Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème avec tableaux sur visual basic

Sujet résolu
    7 mars 2011 à 23:39:07

    Bonsoir,
    j'aimerais savoir si quelqu'un peut m'aider concernant ce nouveau problème, j'ai une "IndexOutOfRangeException" sur Visual basic 2008 dans ce bout de code à la ligne 5, pourquoi ? ^^"


    Sub Sauvegarde(ByVal Scene As Integer)
            For i = 0 To 3
                Dim MonTableau(Scene, i) As Integer
                MonTableau(Scene, 0) = Curseur1.Value
                MonTableau(Scene, 1) = Curseur2.Value
                MonTableau(Scene, 2) = Curseur3.Value
                MonTableau(Scene, 3) = Curseur4.Value
    
                AfficheTableau()
    
                Scene = Scene + 1
    
                MonTableau(Scene, 0) = Curseur1.Value
                MonTableau(Scene, 1) = Curseur2.Value
                MonTableau(Scene, 2) = Curseur3.Value
                MonTableau(Scene, 3) = Curseur4.Value
    
                MsgBox("Voulez-vous remettre les curseurs à zéro ? ", MsgBoxStyle.YesNo)
                If vbYes Then
                    MonTableau(Scene, i) = 0
                Else
                    MonTableau(Scene, 0) = Curseur1.Value
                    MonTableau(Scene, 1) = Curseur2.Value
                    MonTableau(Scene, 2) = Curseur3.Value
                    MonTableau(Scene, 3) = Curseur4.Value
    
                End If
            Next
        End Sub
    


    Ce code est sensé permettre la sauvegarde de la position de 4curseurs, donc si par ailleurs vous trouvez qu'il ne va pas faites le moi savoir :honte:
    • Partager sur Facebook
    • Partager sur Twitter
      8 mars 2011 à 10:02:34

      Bonjour,

      Tu as définit ton tableau comme ayant pour dimension i, or au premier tour de la boucle for i vaut 0, c'est donc comme si tu avais déclarer un tableau de cette taille :

      Dim MonTableau(Scene, 0) As Integer
      


      Donc en lui demandant MonTableau(Scene, 1) = Curseur2.Value, tu es en dehors des limites du tableau.

      Il faut donc déclarer ton tableau avant le début de la boucle for de cette manière :

      Dim MonTableau(Scene, 3) As Integer
      


      et suprimer cette ligne :

      Dim MonTableau(Scene, i) As Integer
      
      • Partager sur Facebook
      • Partager sur Twitter

      Problème avec tableaux sur visual basic

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown