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
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
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.