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

sous la plage la table !!!

6 réponses
Avatar
le Nordiste
Bonjour,

Je m'inspire de Laurent Longre pour cette petite proc=E9dure :

<<<<<<
Sub tst_Range_Array()

Dim tabl() As Variant

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

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

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

Et la machine me r=E9pond : erreur d'=E9x=E9cution 9 : " l'indice
n'appartient =E0 la s=E9lection"

Et je ne vois pas mon erreur, merci de votre aide.

6 réponses

Avatar
garnote
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" a écrit dans le message de news:

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.
Avatar
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



Avatar
Jacky
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" a écrit dans le message de news:

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.
Avatar
le Nordiste
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
'-------------------


Avatar
MichDenis
| 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" a écrit dans le message de groupe de discussion
:
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



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

MERCI MichDenis !