Erreur d'exécution 9....VBA-Excel (tableau) [Résolu]

Signaler
Messages postés
5
Date d'inscription
mardi 5 juin 2007
Statut
Membre
Dernière intervention
18 septembre 2007
-
Messages postés
201
Date d'inscription
mardi 7 octobre 2003
Statut
Membre
Dernière intervention
10 mai 2016
-
Bonjour,

J'ai un problème avec l'utilisation des tableaux sous VBA (Excel 2003). Lorsque je veux lire mon tableau, j'ai toujours l'erreur 9, "l'indice n'appartient pas à la sélection". Je vous mets le petit morceau de code qui me cause ces soucis :

Sub Bouton1_QuandClic()
    Dim matable() As Variant
    Workbooks.Open "c:\a_lire.xls"
    matable = Range("a22:l22")
    ActiveWorkbook.Close
    For i = 1 To 5
        toto = matable(i).Value
        MsgBox "resultat :" & toto
    Next i
End Sub

D'avance je vous remercie si quelqu'un pourrait m'indiquer ma misérable erreur...

3 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
56
Salut,
Parce que matable devient un tableau à deux dimension.

Que cherches tu à faire exactement? si tu souhaite mémoriser dans une varianle le contenu de la plage A22:L22 pourquoi ne pas l'assigner à une variable Range tout simplement?

Sinon essaie
Dim matable As Variant
   matable = Range("a22:l22")
   For i = 1 To 5
       toto = matable(1, i)
       MsgBox "resultat :" & toto
   Next i, ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
5
Date d'inscription
mardi 5 juin 2007
Statut
Membre
Dernière intervention
18 septembre 2007

Re,

Merci pour la réponse. Effectivement, j'avais oublié qu'il fallait préciser le numéro de ligne dans le tableau (1, dans l'exemple). Ta proposition d'assigner le contenu de la plage à une variable c'est pas ce que j'ai fait ?
 
matable = range ("a22:L22")

La boucle étant pour contrôler uniquement...
Messages postés
201
Date d'inscription
mardi 7 octobre 2003
Statut
Membre
Dernière intervention
10 mai 2016

si, c'est ce que tu as fait, le problème est la lecture du tableau :

matable(1, i) et non
matable(i), puisque deux dimensions

coïto ergo sum