Tableau à 2 dimension

Signaler
Messages postés
13
Date d'inscription
jeudi 25 janvier 2007
Statut
Membre
Dernière intervention
31 mai 2011
-
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
-
Bonjour,
j'ai un programme qui utilise des tableaux à deux dimensions. Par exemple
Dim Tab1(30,3)
Dim Tab2(30,3)
ce pendant, je ne peux pas redimensionner la taille car le redimensionnement n'affecte que la derniere colonne. j'aimerai savoir si est possible de ce servir des ArrayList à la place des tableaux si oui comment faire dans le cas d'un tableau à deux dimensions
Cordialement

6 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
66
Salut

Il me semble (pas féru en VB.Net) que ArrayList est une variable de type constante pour lequel il faudra que tu écrives les données au moment de la création.

Si tu dois utiliser un tableau que tu souhaites redimensionner, il ne faut pas déclarer de dimension lors du Dim.
Dim Tab1() As
... et le type; important, ça.
Puis, pour le redemensionner :
ReDim [Preserve] Tab1(0 To 100, 0 To 25)
Le Preserve (optionnel) permet de conserver les données déjà incluses.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
11
Salut,

un ArrayList est un tableau générique managé, tu peux y mettre ce que tu veux dedans. Du coup tu peux très bien y ajouter des tableaux 1D. Tu peux également y ajouter des ArrayList, ou des structures de mapping.
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
48
Salut

Que représente tes tableaux ?
un tableau de quel type ?
Messages postés
13
Date d'inscription
jeudi 25 janvier 2007
Statut
Membre
Dernière intervention
31 mai 2011

les données seront de type string. mais je sais pas en avance la taille du tableau que je dois prévoir.
Qd je tape Dim Tab1() As String, il me génère une erreur de type constate entière attendue alors que ma déclaration du tableau est bien a l’intérieur d'une procédure
merci
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
48
que doit représenter TAB1(0,0) ? par ex
est tu obligé d'utiliser un tableau à deux dimensions ?
Expliques ce que tu veux faire
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
66
Erreur bizarre

Rectification de ce que je t'ai dit : Il faut prévoir le nombre de dimensions, car un ReDim ne peut pas changer ce nombre.
Si ton tableau doit avoir 2 dimensions, il faut faire le Dim initial comme ceci :
Dim sTest(,) As String ' Tu as noté la virgule entre les parenthèses
et il n'y a pas d'erreur en utilisant le ReDim tel que je te l'ai présenté.

Oui, l'utilisation d'une structure ou d'une collection serait peut-être plus pratique.