Sub tutu()
Dim i&, j&, k&, temp(), v(), x, ref()
'1. création d'un tableau vide v :
v = Array()
'2. dimensionnement du tableau v :
ReDim v(1 To 5)
'À ce stade on a un tableau à cinq éléments v(1), v(2), v(3), v(4) et v(5) , tous vides.
'On peut alors définir ces éléments comme étant des tableaux, de dimension qu'on voudra.
'
'Par exemple, définition des tableaux par le contenu des feuilles 1 à 5 .
For i = 1 To 5
With Sheets(i).Cells(1, 1).CurrentRegion
ReDim temp(1 To .Rows.Count, 1 To .Columns.Count)
If .Count = 1 Then
If IsEmpty(.Cells(1, 1)) Then Exit For Else temp(1, 1) = .Cells.Value
Else
temp = .Cells.Value
End If
v(i) = temp
End With
Next i
'On peut dès lors faire appel à chacun de ces tableaux par v(i), 0<i<6.
'Par exemple, lecture des éléments des éventuels tableaux des feuilles 2, 4 et 5 :
ref = Array(2, 4, 5)
For i = 0 To UBound(ref)
x = v(ref(i))
If VarType(x) >= vbArray Then
For j = 1 To UBound(x, 1): For k = 1 To UBound(x, 2)
MsgBox Sheets(ref(i)).Name & "!" & Cells(j, k).Address(0, 0) & " : " & vbLf & vbLf & x(j, k)
Next k, j
Else
MsgBox "Pas de tableau dans la feuille " & ref(i) & " !"
End If
Next
End Sub