Redimentionner un tableau avec Preserve

Résolu
caperquy Messages postés 34 Statut Membre -  
caperquy Messages postés 34 Statut Membre -
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 40050 Statut Modérateur 4 754
 
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 34 Statut Membre
 
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