Redimentionner un tableau avec Preserve

Résolu/Fermé
caperquy Messages postés 30 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 18 octobre 2019 - 9 mai 2019 à 10:36
caperquy Messages postés 30 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 18 octobre 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.
A voir également:

2 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
9 mai 2019 à 18:02
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

.
0
caperquy Messages postés 30 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 18 octobre 2019
9 mai 2019 à 21:39
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
0