Redimentionner un tableau avec Preserve

Résolu
caperquy Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   -  
caperquy Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   -
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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   Statut Membre Dernière intervention  
 
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