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

[VBA] Construire un tableau dynamique

3 réponses
Avatar
ThierryP
Bonjour le forum,

Je cherche =C3=A0 cr=C3=A9er un array =C3=A0 partir d'une plage (A1:Axxx) d=
'une feuille d'un classeur xla mais j'ai quelques soucis de syntaxe !!!

Ma plage est mise =C3=A0 jour :
Nouveau =3D InputBox("Entrez un num=C3=A9ro de commande :")
Workbooks("Thierry.xla").Sheets("A_Supprimer").Range("A10000").End(xlUp).Of=
fset(1, 0) =3D Nouveau

J'ai tent=C3=A9 :
Mon_Array =3D Workbooks("Thierry.xla").Sheets("A_Supprimer").Range("A1:A" &=
Workbooks("Thierry.xla").Sheets("A_Supprimer").Range("A10000").End(xlUp).r=
ow)
Jusque l=C3=A0, =C3=A7a va !! Mais je n'arrive pas =C3=A0 lire les valeurs =
dans mon tableau. Si je fais :
for i =3Dlbound(Mon_Array) to ubound(Mon_Array)
msgbox Mon_Array(i)
next
j'ai un message d'erreur (l'indice n'appartient pas =C3=A0 la s=C3=A9lectio=
n). O=C3=B9 est-ce que j'ai loup=C3=A9 quelque chose ?

Merci d'avance,
ThierryP

3 réponses

Avatar
MichD
Le 05/10/20 à 11:12, ThierryP a écrit :
Mon_Array = Workbooks("Thierry.xla").Sheets("A_Supprimer").Range("A1:A" & Workbooks("Thierry.xla").Sheets("A_Supprimer").Range("A10000").End(xlUp).row)
Jusque là, ça va !! Mais je n'arrive pas à lire les valeurs dans mon tableau. Si je fais :
for i =lbound(Mon_Array) to ubound(Mon_Array)

Bonjour,
Une manière de procéder :
'------------------------------------
Sub test()
Dim LastRow As Long, T As Variant
With Workbooks("Thierry.xla")
With .Worksheets("A_Supprimer")
LastRow = .Range("A" & .Rows.Count).End(xlUp).Row
T = .Range("A1:A" & LastRow).Value
End With
End With
MsgBox T(2, 1)
End Sub
'------------------------------------
Important : lorsque tu affectes une colonne de données dans une variable
de type tableau(array), il ne faut pas oublier que le tableau est à 2
dimensions (ligne, colonne)
Dans mon exemple : T(2,1) fait référence à la valeur de la ligne 2
colonne A.
MichD
Avatar
ThierryP
Bonjour Denis,
Toujours fidèle au poste !!!!
Merci pour ton retour, je vais tester ça dès que possible !
ThierryP
Avatar
ThierryP
Bonjour Denis,
Comme d'habitude, parfait !!!
Encore merci,
ThierryP
Le jeudi 8 octobre 2020 à 11:15:46 UTC+2, ThierryP a écrit :
Bonjour Denis,
Toujours fidèle au poste !!!!
Merci pour ton retour, je vais tester ça dès que possible !
ThierryP