Instruction ReDim

Déclare ou redéfinit des variables ou des tableaux.

Syntaxe :

Diagramme de l'instruction ReDim

ReDim [Preserve] variable [(début à fin)] [As nom-de-type][, variable2 [(début à fin)] [As nom-de-type][,...]]

Vous pouvez également ajouter le mot clé Preserve pour conserver le contenu du tableau redimensionné. ReDim ne peut être utilisé que dans des sous-programmes.

Paramètres :

variable:Tout nom de variable ou de tableau.

typename: Mot clé qui déclare le type de données d'une variable.

fragment de types de données primitif

Byte: Variable de type octet (0-255)

Boolean: Variable de type booleen (True, False)

Currency: Variable de type devise (Devise avec 4 décimales)

Date : variable de date

Double: Variable à virgule flottante double précision (1,79769313486232 x 10E308 - 4,94065645841247 x 10E-324)

Integer : variable au format nombre entier (-32768 - 32767)

Long : variable au format nombre entier long (-2.147.483.648 - 2.147.483.647)

Object: Variable objet (Remarque: cette variable ne peut être définie par la suite qu'avec Set!)

Single : variable à virgule flottante simple précision (3,402823 x 10E38 - 1,401298 x 10E-45).

String : variable de chaîne comprenant au maximum 64 000 caractères ASCII.

Variant:Type de variable variant (contient tous les types, spécifiés par définition). Si aucun nom de type n'est spécifié, les variables sont automatiquement définies comme Type Variant, sauf si une instruction de DefBool à DefVar est utilisée.

object: Objet Universal Network object (UNO) ou instance de ClassModule.

char: Caractère spécial qui déclare le type de données d'une variable.

Fragment de caractères de déclaration de type

Dans Collabora Office Basic, vous n'avez pas besoin de déclarer explicitement des variables. Cependant, vous devez déclarer des tableaux avant de pouvoir les utiliser. Vous pouvez déclarer une variable avec l'instruction Dim, en utilisant des virgules (, ) pour séparer plusieurs déclarations. Pour déclarer un type de variable, entrez un caractère de déclaration de type après le nom ou utilisez un nom de mot-clé de type correspondant.

Declaration character

Variable type name

%

Integer

&

Long

!

Single

#

Double

$

String

@

Currency


array: Déclaration de tableau.

fragment de matrice

start, end: Valeurs numériques ou constantes qui définissent le nombre d'éléments (NombreElements = (end-start) +1) et la plage d'index.

start and end peuvent être des expressions numériques si ReDim est appliqué dans la procédure.

Collabora Office Basic supporte les matrices unidimensionnelles ou multidimensionnelles définies par un type de variable spécifié. Les matrices peuvent être utilisées si le programme comprend des listes ou des tables à éditer. L'avantage des matrices est qu'elles permettent d'appeler des éléments individuels à partir d'index, lesquels peuvent être formulés comme expressions numériques ou variables.

Les tableaux sont déclarés avec l'instruction Dim. Il existe plusieurs façons de définir la plage d'index :

Dim text(20) As String ' 21 éléments numérotés de 0 à 20
Dim value(5 to 25) As Integer ' 21 valeurs numérotées de 5 à 25
Dim montant(-15 to 5) As Currency ' 21 montants(0 inclus),numérotés de  -15 à 5
REM Champ de données bidimensionnel
Dim table$(20,2) ' 63 items; de 0 à 20 niveau 1, de 0 à 20 niveau 2 et de  0 à 20 niveau 3.

Vous pouvez déclarer un type de tableau dynamique si une instruction ReDim définit le nombre de dimensions dans le sous-programme ou la fonction qui contient le tableau. En règle générale, vous ne pouvez définir une dimension de tableau qu'une seule fois et vous ne pouvez pas la modifier. Dans un sous-programme, vous pouvez déclarer un tableau avec ReDim. Vous ne pouvez définir des dimensions qu'avec des expressions numériques. Cela garantit que les champs sont aussi grands que nécessaire.

Exemple :

Sub ExampleRedim
    Dim iVar() As Integer, iCount As Byte
    ReDim iVar(5) As Integer
    For iCount = 1 To 5
        iVar(iCount) = iCount
    Next iCount
    ReDim iVar(10) As Integer
    For iCount = 1 To 10
        iVar(iCount) = iCount
    Next iCount
End Sub

Aidez-nous !