A propos des tableaux

Les tableaux de longueur fixe à une dimension

Pour créer des tableaux en VBscript, on utilise la notion de variable (donc avec le mot clé Dim) mais qui sera indexée.

Pour faire un tableau, il faut procéder en deux étapes :

  • d'abord construire la structure du tableau. A ce stade, les éléments du tableau sont vides.
  • ensuite affecter des valeurs dans les cases ainsi définies.

On commence par définir le tableau :

    Dim nom-du-tableau (x)

où x est le nombre d'éléments du tableau moins 1.

Ensuite, on va alimenter la structure ainsi définie :

    nom-du-tableau(i) = "élément"

où i est un nombre compris entre 0 et x moins 1.

Exemple : un carnet d'adresse avec 3 personnes

    construction du tableau :
    Dim carnet(2)

    ajout des données :
    carnet(0)="Dupont"
    carnet(1)="Médard"
    carnet(2)="Van Lancker"

    pour accéder un élément, on emploie :
    document.write carnet(2)

On notera ici que les données sont bien visibles au lecteur un peu initié (view source).

Remarque :

    Quand on en aura l'occasion, il sera pratique de charger le tableau avec une boucle. Supposons que l'on ait à charger 50 images. Soit on le fait manuellement, il faut charger 0.gif, 1.gif, 2.gif... Soit on utilise une boucle du style :
    Dim gif(49)
    For i = 0 to 49
    gif(i) = i + ".gif"
    Next


 

Tableau dynamique à une dimension

L'avantage des tableaux dynamiques est, bien entendu, qu'il ne faut pas connaître à l'avance le nombre d'éléments du tableau.

On peut utiliser à tout moment dans le script ReDim pour redimensionner le tableau. La syntaxe est :

    ReDim nom-du-tableau (x)

où x est le nombre d'éléments du tableau moins 1 ou une variable.

Voici un exemple de tableau dont le nombre d'éléments est déterminé par une variable i :

    Dim carnet()
    Dim i
    i = 3
    ReDim carnet(i - 1)
    et plus loin dans le script
    ReDim carnet (i + 9)

Attention ! A chaque appel de ReDim, le contenu du tableau précédent est effacé.

Si cette option ne vous convient pas et que vous voulez "préserver" vos données, heureusement pour vous il existe le mot clé Preserve qui vous permet de conserver les données initiales.

    ReDim Preserve carnet (i + 9)


 

Pour connaître la taille d'un tableau

Ce renseignement vous est accessible par la fonction VBscript UBound. La syntaxe n'a rien de fort compliqué :

    variable = UBound(nom-du-tableau)

Appliqué à notre exemple, on peut imaginer

    MsgBox "Le nombre d'éléments est " & UBound(carnet)
    Le résultat est bien entendu - Le nombre d'éléments est 2 -


 

Les tableaux à plusieurs dimensions

VBscript vous permet de construire aisément des tableaux à plusieurs dimensions (jusqu'à 60 dimensions).

La syntaxe de construction du tableau est :

    Dim Grid(x, y)

où x est le nombre de lignes moins 1 et y le nombre de colonnes moins 1.

Pour alimenter la structure ainsi définie :

    Grid(i,j) = "élément"

où i est un nombre compris entre 0 et x moins 1 et j un nombre compris entre 0 et y moins 1.

A titre d'exemple :

    Dim Grid(3,3)

    Grid(0,0)="Dupont"
    Grid(1,0)="Médard"
    Grid(2,0)="Van Lancker"

    document.write Grid(2,0)