sous la plage la table !!!

Le
le Nordiste
Bonjour,

Je m'inspire de Laurent Longre pour cette petite procédure :

<<<<<<
Sub tst_Range_Array()

Dim tabl() As Variant

tabl() = Range("A1:A10").Value

For I = 0 To 9
MsgBox tabl(I)
Next I

End Sub
>>>>>>>>>>>>>>

Et la machine me répond : erreur d'éxécution 9 : " l'indice
n'appartient à la sélection"

Et je ne vois pas mon erreur, merci de votre aide.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
garnote
Le #19539221
Bonjour,

Essaie ceci :

Sub tst_Range_Array()
Dim t As Variant
t = Range("A1:A10").Value
For i = 1 To 10
MsgBox t(i, 1)
Next i
End Sub

Serge


"le Nordiste"
Bonjour,

Je m'inspire de Laurent Longre pour cette petite procédure :

<<<<<<
Sub tst_Range_Array()

Dim tabl() As Variant

tabl() = Range("A1:A10").Value

For I = 0 To 9
MsgBox tabl(I)
Next I

End Sub
>>>>>>>>>>>>>>

Et la machine me répond : erreur d'éxécution 9 : " l'indice
n'appartient à la sélection"

Et je ne vois pas mon erreur, merci de votre aide.
le Nordiste
Le #19539841
Curieux qu'il faille deux index pour mo,n array puisqu'il n'y a qu'une
colonne dans ma plage.
Mais bon ça marche


Merci Garnote


Sub tst_Range_Array()
    Dim t As Variant
    t = Range("A1:A10").Value
    For i = 1 To 10
        MsgBox t(i, 1)
    Next i
End Sub



Jacky
Le #19540241
Bonjour,
...Curieux qu'il faille deux index...


Ou encore..
'-----------
Sub tst_Range_Array()
Set tabl = Range("A1:A10")
For i = 1 To 10
MsgBox tabl(i)
Next
'ou
For Each c In tabl
MsgBox c
Next
End Sub
'-------------------

--
Salutations
JJ


"le Nordiste"
Bonjour,

Je m'inspire de Laurent Longre pour cette petite procédure :

<<<<<<
Sub tst_Range_Array()

Dim tabl() As Variant

tabl() = Range("A1:A10").Value

For I = 0 To 9
MsgBox tabl(I)
Next I

End Sub
>>>>>>>>>>>>>>

Et la machine me répond : erreur d'éxécution 9 : " l'indice
n'appartient à la sélection"

Et je ne vois pas mon erreur, merci de votre aide.
le Nordiste
Le #19540281
Je cherche à gagner du temps par l'usage d'array plutot que d'une
boucle sur les cellules d'une plage.
Je traite couramment des fichiers de 90 000 lignes d'où Excel2007.

'-----------
Sub tst_Range_Array()
Set tabl = Range("A1:A10")
  For i = 1 To 10
     MsgBox tabl(i)
  Next
'ou
  For Each c In tabl
     MsgBox c
  Next
End Sub
'-------------------


MichDenis
Le #19540531
| Curieux qu'il faille deux index pour mo,n array
| puisqu'il n'y a qu'une colonne dans ma plage.

Chaque cellule d'Excel a une adresse composée d'un numéro de ligne et d'un numéro de
colonne. Si tu places une plage de cellules dans un tableau, tu auras forcément un tableau
à 2 dimensions.
Ton tableau sera forcément de base 1 car il n'y a pas encore de cellule ayant l'adresse
Cells(0,0)



"le Nordiste" :
Curieux qu'il faille deux index pour mo,n array puisqu'il n'y a qu'une
colonne dans ma plage.
Mais bon ça marche


Merci Garnote


Sub tst_Range_Array()
Dim t As Variant
t = Range("A1:A10").Value
For i = 1 To 10
MsgBox t(i, 1)
Next i
End Sub



le Nordiste
Le #19546461
Clair, simple et évident… une fois que l'on a l'explication

MERCI MichDenis !
Publicité
Poster une réponse
Anonyme