Actif passif
Les tableaux de taille fixe : la taille du tableau est définie lors de sa déclaration
Dim nom_tableau(taille) As type
L’indice inférieur d’un tableau peut commencer à 0 ou à 1 en fonction de la définition de l’instruction Option Base
2
Exemple 1
‘Indice inférieur égal à 0 Option Base 0
Sub MonPremierTab()
‘Déclaration de tableaux Dim tabF(9) As Double ‘Parcours d’un tableau For i = 0 To 8 tabF(i) = Range("A" & i + 1).Value MsgBox tabF(i) Next i End Sub
3
Exemple 2
‘Indice inférieur égal à 1 Option Base 1 Sub MonPremierTab() ‘Déclaration de tableaux Dim tab1(9) As Double ‘Parcours d’un tableau For i = 1 To 9 tabF(i) = Range("A" & i ).Value MsgBox tabF(i) Next i End Sub
4
La taille du tableau n’est pas définie lors de sa déclaration Utilisés lorsqu’on ne connaît pas à l’avance la taille du tableau
Dim nom_tableau() As type
La dimension d’un tableau dynamique peut être définie lors de l’utilisation du tableau à l’aide de l’instruction ReDim
5
Exemple 3
Option Base 1 Sub TabDynamique() ‘Déclaration de tableaux Dim tabD() As Double Dim i As Integer i=5 ‘Définir la taille du tableau Redim tabD(i) ‘Parcours d’un tableau For j = 1 To UBound(tabD) tabD(j) = Cells(j, 1).Value MsgBox tabD(j) Next j End Sub
6
On peut créer des tableaux multidimensionnels statiques ou dynamiques Il est possible de déclarer jusqu’à 60 dimensions
Dim nom_tableau(dim1,dim2,…,dimn) As type
ReDim peut être utilisée pour redimensionner la dernière dimension
7
Exemple 4
Option Base 1 Sub TabMulti() 'Déclaration de tableaux Dim tabM(3, 4) As Double 'Parcours d’un tableau multidimensionnels For i = 1 To UBound(tabM, 1) 'Boucle sur la première dimension For j = 1 To UBound(tabM, 2) 'Boucle sur la deuxième dimension tabM(i, j) = Cells(i,j).Value MsgBox tabM(i, j) Next j Next i End Sub
8
Utilisé lorsqu’on connaît à l’avance ce qu’on va mettre dans un tableau La création d’un