OVH Cloud OVH Cloud

Copier un tableau (VBA)

2 réponses
Avatar
Nicolas B.
Bonjour à tous,

J'ai un tableau à deux dimensions et j'essaye de le copier dans son entier
dans une autre variable tableau.

Bien sûr, on peut faire comme ça (avec un tableau 3 x 3) :
For i = 0 To 2
For j = 0 To 2
Arr2(i, j) = Arr(i, j)
Next
Next

Mais n'y a-t-il pas plus simple (du genre Array.Copy...) ?


Merci
--
Nicolas B.

2 réponses

Avatar
Pascal Engelmajer
Salut,
je sais pas trop à quoi ça sert mais
Dim x
x= Arr2
c'est tout bon (et tout simple)
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
http://www.ilyapa.net/baseExcel
"Nicolas B." a écrit dans le message de
news: #
Bonjour à tous,

J'ai un tableau à deux dimensions et j'essaye de le copier dans son entier
dans une autre variable tableau.

Bien sûr, on peut faire comme ça (avec un tableau 3 x 3) :
For i = 0 To 2
For j = 0 To 2
Arr2(i, j) = Arr(i, j)
Next
Next

Mais n'y a-t-il pas plus simple (du genre Array.Copy...) ?


Merci
--
Nicolas B.





Avatar
Nicolas B.
Salut Pascal,

Merci pour ta solution, mais mon tableau de destination est déjà défini,
avec les mêmes dimensions que le premier tableau, et là ça ne marche plus.

Voici un exemple :

Sub CopierTableau()
Dim Arr(2, 2) As Integer
Dim Arr2(2, 2) As Integer

For i = 0 To 2
For j = 0 To 2
Arr(i, j) = 3 * i + j
Next
Next

Arr2 = Arr

MsgBox Arr2(0, 0) & Arr2(0, 1) & Arr2(0, 2) & vbNewLine _
& Arr2(1, 0) & Arr2(1, 1) & Arr2(1, 2) & vbNewLine _
& Arr2(2, 0) & Arr2(2, 1) & Arr2(2, 2)
End Sub

L'erreur est "Impossible d'affecter à un tableau".


Merci
--
Nicolas B.


Salut,
je sais pas trop à quoi ça sert mais
Dim x
x= Arr2
c'est tout bon (et tout simple)
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
http://www.ilyapa.net/baseExcel
"Nicolas B." a écrit dans le
message de news: #
Bonjour à tous,

J'ai un tableau à deux dimensions et j'essaye de le copier dans son
entier dans une autre variable tableau.

Bien sûr, on peut faire comme ça (avec un tableau 3 x 3) :
For i = 0 To 2
For j = 0 To 2
Arr2(i, j) = Arr(i, j)
Next
Next

Mais n'y a-t-il pas plus simple (du genre Array.Copy...) ?


Merci
--
Nicolas B.