REDIM |
Redimensionner |
---|---|
Visual Basic |
Syntaxe
ReDim [Preserve] varname(subscripts) [As type][, varname(subscripts) [As type]] . . . |
Paramètres
Nom | Description |
---|---|
subscripts | Ce paramètre permet de dimensionner une variable de tableau; jusqu'à 60 dimensions multiples peuvent être déclarées. |
type | Ce paramètre permet d'indiquer un type de données de la variable; peut être Byte, Boolean, Integer, Long, Currency, Single, Double, Date, String (pour les chaînes de caractères de longueur variable), String * longueur(pour les chaînes de longueur fixe), Object, Variant, un type défini par l'utilisateur ou un type d'objet. Utilisez une clause de «As type» distincte pour chaque variable définie. Pour un Variant contenant un tableau, type décrit le type de chaque élément du tableau, mais ne change pas le Variant en un autre type. |
varname | Ce paramètre permet d'indiquer le nom de la variable; suit les conventions de dénomination des variables standard. |
Preserve | Ce paramètre permet de préserver les données dans un tableau existant lorsque vous modifiez la taille de la dernière dimension. |
Description
Cette instruction permet d'utiliser au niveau de la procédure pour déclarer des variables de tableau dynamique et allouer ou réallouer de l'espace d'entreposage.
Remarques
- Le paramètre subscripts utilise la syntaxe suivante :
- L'instruction ReDim est généralement utilisée pour dimensionner ou redimensionner un tableau dynamique ayant déjà été officiellement déclaré à l'aide d'une instruction Private, Public ou Dim avec des parenthèses vides (sans indices de dimension).
- Vous pouvez utiliser l'instruction ReDim à plusieurs reprises pour modifier le nombre d'éléments et de dimensions dans un tableau. Cependant, vous ne pouvez pas déclarer un tableau d'un type de données et utiliser ultérieurement ReDim pour changer le tableau en un autre type de données, sauf si le tableau est contenu dans un Variant. Si le tableau est contenu dans un Variant, le type des éléments peut être modifié à l'aide d'une clause de «As type».
- Si vous utilisez le mot clef Preserve, vous ne pouvez redimensionner que la dernière dimension du tableau et vous ne pouvez pas du tout modifier le nombre de dimensions. Par exemple, si votre tableau n'a qu'une seule dimension, vous pouvez redimensionner cette dimension car il s'agit de la dernière et unique dimension. Toutefois, si votre tableau a deux dimensions ou plus, vous pouvez modifier la taille de la dernière dimension uniquement tout en conservant le contenu du tableau. L'exemple suivant montre comment augmenter la taille de la dernière dimension d'un tableau dynamique sans effacer les données existantes contenues dans le tableau :
- Si vous rendez un tableau plus petit qu'il ne l'était, les données des éléments éliminés seront perdues.
- Lorsque les variables sont initialisées, une variable numérique est initialisée à 0, une chaîne de caractères de longueur variable est initialisée à une chaîne de caractères de longueur nulle et une chaîne de caractères de longueur fixe est remplie de zéros. Les variables Variant sont initialisées à Empty. Chaque élément d'une variable de type défini par l'utilisateur est initialisé comme s'il s'agissait d'une variable distincte. Une variable faisant référence à un objet doit se voir affecter un objet existant à l'aide de l'instruction Set avant de pouvoir être utilisée. Jusqu'à ce qu'un objet lui soit affecté, la variable objet déclarée a la valeur spéciale Nothing, indiquant qu'elle ne fait référence à aucune instance particulière d'un objet.
- Pour redimensionner un tableau contenu dans un Variant, vous devez déclarer explicitement la variable Variant avant de tenter de redimensionner son tableau.
[lower To] upper [,[lower To] upper] . . . |
Lorsqu'elle n'est pas explicitement indiquée en bas, la limite inférieure d'un tableau est contrôlée par l'instruction Option Base. La limite inférieure est zéro si aucune instruction Option Base n'est présente.
ReDim X(10, 10, 10)
. . .
ReDim Preserve X(10, 10, 15)
Dernière mise à jour : Jeudi, le 31 Décembre 2020