[VBA] Construire un tableau dynamique

Le
ThierryP
Bonjour le forum,

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

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

J'ai tenté :
Mon_Array = Workbooks("Thierry.xla").Sheets("A_Supprimer").Range("A1:A" &=
Workbooks("Thierry.xla").Sheets("A_Supprimer").Range("A10000").End(xlUp).r=
ow)
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)
msgbox Mon_Array(i)
next
j'ai un message d'erreur (l'indice n'appartient pas à la sélectio=
n). Où est-ce que j'ai loupé quelque chose ?

Merci d'avance,
ThierryP
  • Partager ce contenu :
Vos réponses
Trier par : date / pertinence
MichD
Le #26556814
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
ThierryP
Le #26556678
Bonjour Denis,
Toujours fidèle au poste !!!!
Merci pour ton retour, je vais tester ça dès que possible !
ThierryP
ThierryP
Le #26555730
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
Poster une réponse
Anonyme