Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Variable Tableau

2 réponses
Avatar
DesseJ
Bonjour =E0 tous,

J'ai une petite question concernant les tableaux variable.

Est-il possible svp, dans un souci de rapidit=E9 d'ex=E9cution, de copier
dans une plage les enregistrements d'un tableau par exemple de
l'enregistrement 20000 =E0 30000, tout ceci sans passer par une boucle ?
Dans le code suivant, je r=E9cup=E8re l'int=E9gralit=E9 des enregistrements=
.

Merci
St=E9phane D.

Option Explicit

Sub MonTEST()
Dim MesDONNEES
MesDONNEES =3D Range("A1:B40000")
[C1].Resize(UBound(MesDONNEES, 1), UBound(MesDONNEES, 2)) =3D
MesDONNEES
End Sub

2 réponses

Avatar
michdenis
Bonjour,

Pour redimensionner un tableau en conservant ses valeurs
il faut utiliser "Redim Preserve MonTableau(). Sauf que dans
ce cas, il n'y a que la dernière dimension du tableau qui est
redimensionnable. En conséquence non applicable dans ton cas.

2 façons de faire :
'---------------------------------
Sub MonTEST()
Dim MesDONNEES(), T()

MesDONNEES = Range("A1:B40000")

'Si tu tiens à utiliser un tableau
T = Range(Range("A1:B40000").Item(20000, 1), _
Range("A1:B40000").Item(40000, 2))
[C1].Resize(UBound(T, 1), UBound(T, 2)) = T

'Tu peux effectuer la copie directement comme ceci :
Range(Range("A1:B40000").Item(20000, 1), _
Range("A1:B40000").Item(40000, 2)).Copy [C1]
End Sub
'---------------------------------



"DesseJ" a écrit dans le message de groupe de discussion :

Bonjour à tous,

J'ai une petite question concernant les tableaux variable.

Est-il possible svp, dans un souci de rapidité d'exécution, de copier
dans une plage les enregistrements d'un tableau par exemple de
l'enregistrement 20000 à 30000, tout ceci sans passer par une boucle ?
Dans le code suivant, je récupère l'intégralité des enregistrements.

Merci
Stéphane D.

Option Explicit

Sub MonTEST()
Dim MesDONNEES
MesDONNEES = Range("A1:B40000")
[C1].Resize(UBound(MesDONNEES, 1), UBound(MesDONNEES, 2)) MesDONNEES
End Sub
Avatar
DesseJ
Merci MichDenis !

Je cherchais une alternative dans le cas où j'ai un tableau en mémoire
qui dépasse les 65536 lignes pour coller le résultat sur plusieurs
feuilles, car tous nos clients ne sont pas en 2007.

Merci encore bonne journée
StephD