Tableau à 2 dimension

Messages postés
13
Date d'inscription
jeudi 25 janvier 2007
Statut
Membre
Dernière intervention
31 mai 2011
- - Dernière réponse : cs_Jack
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
- 31 mai 2011 à 20:19
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
Afficher la suite 

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
61
0
Merci
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)
Commenter la réponse de cs_Jack
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
11
0
Merci
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.
Commenter la réponse de cs_jopop
Messages postés
3251
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
16 octobre 2019
46
0
Merci
Salut

Que représente tes tableaux ?
un tableau de quel type ?
Commenter la réponse de cs_ShayW
Messages postés
13
Date d'inscription
jeudi 25 janvier 2007
Statut
Membre
Dernière intervention
31 mai 2011
0
Merci
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
Commenter la réponse de sir_patrick
Messages postés
3251
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
16 octobre 2019
46
0
Merci
que doit représenter TAB1(0,0) ? par ex
est tu obligé d'utiliser un tableau à deux dimensions ?
Expliques ce que tu veux faire
Commenter la réponse de cs_ShayW
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
61
0
Merci
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.
Commenter la réponse de cs_Jack