Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

indice en dehors de la plage

4 réponses
Avatar
thomas
j'ai un soucis dans l'utilisation des tableaux
voici un bout de code pour l'illustrer

dim tableau() as string

for i =3D 1 to 10

ReDim Preserve tableau(i, 2)


tableau(i,2) =3D"toto"
tableau(i,1) =3D "1"

next i


pour i =3D 1 pas de probl=E8me mais d=E8s que i =3D 2
l=E0 y a un soucis (indice en dehors de la plage)

=E7=E0 fais deux jours que je bloque dessus en retournant le=20
probl=E8me dans tous les sens (avec mon niveau c'est un peu=20
normal vous me direz:) )

merci d'avance de votre aide


Darkukai

4 réponses

Avatar
Sebho
je crois qu'avec redim tu ne peux redimensioner QUE la derniere dimension du
tableau

sebho


"thomas" a écrit dans le message de
news:089c01c341f7$766e6620$
j'ai un soucis dans l'utilisation des tableaux
voici un bout de code pour l'illustrer

dim tableau() as string

for i = 1 to 10

ReDim Preserve tableau(i, 2)


tableau(i,2) ="toto"
tableau(i,1) = "1"

next i


pour i = 1 pas de problème mais dès que i = 2
là y a un soucis (indice en dehors de la plage)

çà fais deux jours que je bloque dessus en retournant le
problème dans tous les sens (avec mon niveau c'est un peu
normal vous me direz:) )

merci d'avance de votre aide


Darkukai
Avatar
Thomas
merci de votre aide

donc si j'ai bien compris c'est pas possible mon truc

j'essaie de faire différement
mon problème c'est que je sais pas au début quelle taille
doit faire mon tableau
je déclare une variable public qui stockera la valeur de
la taille de mon tableau, ainsi je déclare mon tableau en
faisant :

tableau(lon,3) as string

mais il me dis qu'une constante est attendu
je déclare donc une constante qui prend la valeur de lon
const taille = lon

mais il me dis qu'un objet est requis

bref çà marche pas vous auriez pas une idée ?

merci d'avance
@+
Avatar
François Picalausa
Bonjour/soir,

Si la second dimension est fixe, pourquoi ne pas faire comme ceci:

dim tableau() as string

for i = 1 to 10

ReDim Preserve tableau(2, i)


tableau(2, i) ="toto"
tableau(1, i) = "1"

next i

Sinon, tu peux faire un tableau dont chaque cellule contien un autre
tableau:

Dim tableau()
Dim tempTbl() As String

Redim tableau(20)
Redim tempTbl(2)

tempTbl(0)="0.0"
tempTbl(1)="0.1"
tempTbl(2)="0.2"
tableau(0)=tempTbl
...

Redim Preserve tableau(21)

tempTbl(0)="21.0"
tempTbl(1)="21.1"
tempTbl(2)="21.2"
tableau(21)=tempTbl
...

Debug.Print tableau(x)(y)

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


Thomas wrote:
merci de votre aide

donc si j'ai bien compris c'est pas possible mon truc

j'essaie de faire différement
mon problème c'est que je sais pas au début quelle taille
doit faire mon tableau
je déclare une variable public qui stockera la valeur de
la taille de mon tableau, ainsi je déclare mon tableau en
faisant :

tableau(lon,3) as string

mais il me dis qu'une constante est attendu
je déclare donc une constante qui prend la valeur de lon
const taille = lon

mais il me dis qu'un objet est requis

bref çà marche pas vous auriez pas une idée ?

merci d'avance
@+


Avatar
thomas
Tout dabord merci
Vos réponses sont hyper intéressantes
je vais tester les deux comme çà au moins je sauras et pis
je vous tiens au jus :)

merci beaucoup
j'étais un peu coincé là

@+