Menu

Redimentionner un tableau avec Preserve [Résolu]

Messages postés
20
Date d'inscription
lundi 15 mars 2010
Statut
Membre
Dernière intervention
9 mai 2019
- - Dernière réponse : caperquy
Messages postés
20
Date d'inscription
lundi 15 mars 2010
Statut
Membre
Dernière intervention
9 mai 2019
- 9 mai 2019 à 21:39
Bonjour
Dans mon application je dois remplir un tableau à une dimension avec peu ou beaucoup d'éléments. Par sécurité je le définis au départ comme suit :
Dim MonTableau (100) as Integer

Admettons que je ne le remplisse qu'avec 20 éléments. Je voudrais alors le redimensionner à la valeur 20 en ne conservant les 20 éléments déjà entrés. Dans mon code je mets alors l'instruction suivante :
Redim Preserve MonTableau(20)

J'obtiens alors le message Erreur de compilation - Tableau déjà dimensionné
Merci à qui pourra me donner une explication et la solution pour réaliser ce que je souhaite.
Afficher la suite 

Votre réponse

2 réponses

Messages postés
25504
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
14 mai 2019
1974
0
Merci
Bonjour,

Comme indiqué dans la documentation officielle de microsoft..

L’instructionReDim est utilisée pour dimensionner ou redimensionner un tableau dynamique qui a déjà été formellement déclaré à l’aide d’une instruction Private, Public, ou Dim avec des parenthèses vides (sans indice de dimension).

https://docs.microsoft.com/fr-fr/office/vba/language/reference/user-interface-help/redim-statement

.
Commenter la réponse de jordane45
Messages postés
20
Date d'inscription
lundi 15 mars 2010
Statut
Membre
Dernière intervention
9 mai 2019
0
Merci
Merci pour la réponse. D'après cet article je vois que l'on ne peut qu'augmenter la taille du tableau mais pas la réduire pour ne conserver que les cellules qui ont été remplies. Je vais donc commencer par un tableau de taille minimum et ajouter une nouvelle dimension chaque fois que j'aurai à y introduire un élément supplémentaire.
Encore un grand merci
Caperquy
Commenter la réponse de caperquy