voilà la copie de l'aide VBA concernant la déclaration de tableaux
En VBA c "Array"
N'oubli pas dans le général déclaration de mettre :
Option explicit (oblige la déclaration des variables)
et
Option base 1 (si tu veux que ton tableau commence par 1)
ça t'évitera bien des soucis par la suite...
---------------------------------------------------------------------
Les tableaux se déclarent de la même façon que d'autres variables avec des
instructions Dim, Static, Private ou Public. Contrairement aux variables
scalaires (celles qui ne sont pas de tableaux), les variables tableau
imposent généralement la spécification de leurs dimensions. Un tableau dont
la taille est spécifiée est un tableau à taille fixe. Un tableau dont la
taille peut être modifiée pendant l'exécution d'un programme est un tableau
dynamique.
L'index d'un tableau peut commencer de 0 ou de 1 en fonction de la
définition de l'instruction Option Base. Si Option Base 1 n'est pas
spécifiée, tous les index de tableau commencent à zéro.
Déclaration d'un tableau fixe
Dans la ligne de code suivante, un tableau à taille fixe est déclaré comme
un tableau de type Integer comportant 11 lignes et 11 colonnes :
Dim MyArray(10, 10) As Integer
Le premier argument représente les lignes, le second les colonnes.
[......]
Déclaration d'un tableau dynamique
En déclarant un tableau dynamique vous pouvez dimensionner le tableau
pendant l'exécution du code. Utilisez une instruction Static, Dim, Private
ou Public pour déclarer un tableau, en laissant les parenthèses vides, comme
le montre l'exemple suivant.
Dim sngArray() As Single
Note Vous pouvez utiliser l'instruction ReDim pour déclarer un tableau
implicitement avec une procédure. Veillez à ne pas faire de faute de frappe
dans le nom du tableau lors de l'utilisation de l'instruction ReDim. Même si
l'instruction Option Explicit est incluse dans le module, une faute de
frappe créerait un deuxième tableau.
Dans une procédure incluse dans la portée du tableau, utilisez l'instruction
ReDim pour changer le nombre de dimensions, pour définir le nombre
d'éléments et pour établir les limites supérieures et inférieures de chaque
dimension. Vous pouvez utiliser l'instruction ReDim pour modifier le tableau
dynamique aussi souvent que nécessaire. Cependant, chaque fois que vous le
faites, les valeurs existantes du tableau sont perdues. Utilisez ReDim
Preserve pour étendre un tableau tout en conservant ses valeurs existantes.
Par exemple, l'instruction suivante agrandit le tableau varArray de 10
éléments sans perdre les valeurs en cours des éléments d'origine.
ReDim Preserve varArray(UBound(varArray) + 10)
Note Lorsque vous utilisez le mot clé Preserve avec un tableau dynamique,
vous pouvez uniquement modifier la limite supérieure de la dernière
dimension, et non le nombre de dimensions.
Bon courage à toi !
Post by R MBjr
Je suis coince avec la declaration de mes tableaux...
je declare un tableau comme suit et je travaille ainsi
dim tableau
dim i, j as integer
tableau = range("a1:e5").value
for i = 1 to 5
for j = 1 to 5
tableau (i,j)= ce que je veux, un entier quelconque par exemple ou
une date...
next
next
mais je suis obligé de bloquer des cellules de a1 à e5, en clair je dois d
abord connaitre la taille de mon tableau pour lui assigner des cellules...
comment puis je faire pour travailler sur un tableau "virtuel" et ensuite
copier les veleurs de mon tableau dans une cellule?
dim tableau avec 2 dimensions (dois je les nommer ici?) dont je ne connais
pas encore les limites!!!