Sub redimarray2D_en2D()
Dim Tblo() As Integer
Dim Tmp() As Integer
Dim a As Integer
Dim i As Integer, j As Integer
ReDim Tblo(3, 4)
For i = 1 To 3
For j = 1 To 4
a = i * 10 + j 'c'est juste pour avoir des valeurs dans l'array pour l'exemple !
Tblo(i, j) = a
Next j
Next i
ReDim Tmp(3, 4) 'on dimensionne l'array temporaire à la même dimension que l'array initial
'on copie l'array de départ vers l'array temporaire
Tmp = Tblo
'redimensionner l'array initial (ce qui le détruit)
ReDim Tblo(5, 7)
'le remplir avec les données stockées dans l'array temp
'les deux arrays n'ayant pas les mêmes dimensions on ne peut pas cette fois copier l'un vers l'autre globalement
'il faut faire cela élément par élement
For i = LBound(Tmp, 1) To UBound(Tmp, 1)
For j = LBound(Tmp, 2) To UBound(Tmp, 2)
Tblo(i, j) = Tmp(i, j)
Next j
Next i
'ajouter les nouvelles données
For i = 1 To 5
For j = 5 To 7
a = i * 100 + j
Tblo(i, j) = a
Next j
Next i
For i = 4 To 5
For j = 1 To 4
a = i * 100 + j
Tblo(i, j) = a
Next j
Next i
end sub