Lorsqu'il est nécessaire d'assigner plusieurs valeurs à une unique variable, alors il faut utiliser un tableau. Un tableau est une variable capable de contenir N valeurs, N étant la taille de ce tableau.

Les tableaux sont créés à l'instar des variables simples, en utilisant une instruction Dim précédant la déclaration de la variable suivie elle même d'un nombre entouré de parenthèses.

Dim tableau(10)

Cette déclaration indique à l'interpréteur, qu'une variable est un tableau composé de onze cellules. En effet, un tableau commence à zéro et se termine au nombre indiqué.

L'affectation de valeurs au sein d'un tableau, s'effectue par le biais de la variable suivi du numéro d'indice de la cellule à affecter.

tableau(indice) = valeur

tableau(0) = 10;
tableau(1) = 18;
...
tableau(10) = 9;

La valeur d'une cellule de tableau s'obtient de la même manière que l'affectation. Il est possible de réaffecter le contenu d'une cellule à une autre variable, de l'afficher ou encore d'effectuer un calcul.

Dim nombre = tableau(0);

Dim nombre = tableau(0) * 2

<%=tableau(0)%> 
'Affichage dans la page web courante

Un tableau peut contenir plusieurs dimensions. Ainsi, une variable peut être organisée en lignes et en colonnes (tableau à deux dimension). Si on ajoute une profondeur, on obtient un tableau tridimensionnel.

La déclaration de tableaux multidimensionnels sont identiques aux tableaux unidimensionnels, à l'exception que les parenthèses contiennent autant de nombres que de dimensions. Ces nombres doivent être séparés par des virgules.

Dim tableau(10, 20)

Dim tableau(10, 10, 10)

La fonction UBound() fournit le plus grand indice du tableau passé en argument.

Dim tableau(30)
Response.Write(UBound(tableau)
'La fonction Write affiche 30

Il faut donc être vigilant en utilisant cette fonction puisque la taille réelle du tableau est supérieure de un élément.

Les tableaux peuvent changer de taille durant l'exécution d'un script. La commande ReDim permet de redéfinir la taille d'un tableau.

Redim tableau(20)

Le redimensionnement d'un tableau s'accompagne de la perte de toutes les données qu'il contenait. C'est pourquoi, le mot clé Preserve permet d'éviter une redéfinition complète d'un tableau en conservant les données existantes.

Redim Preserve tableau(20)

L'instruction Erase supprime le contenu de toutes les cellules d'un tableau et libère les resources qui lui été affectée.

Erase tableau

Il existe des artifices permettant d'affecter ou de consulter un tableau à l'aide de boucles, évitant ainsi la fastidieuse opération d'affectation ou de consultation manuelle d'un tableau. La boucle For To...Next réalise parfaitement le parcours complet d'un tableau.

For i = 0 To UBound(tableau) + 1 Step 1
    tableau(i) = i + 1
    Response.Write(i & " : " & tableau(i))
Next
'Affiche :
i : 1
i : 2
i : 3
...
i : 11