IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Parcours d'un range transposé en array [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de Dinytro
    Profil pro
    Inscrit en
    Août 2003
    Messages
    402
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 402
    Par défaut Parcours d'un range transposé en array
    Bonjour,

    Je me sens aussi bête d'un seul coup qu'à mes début en informatique (voire plus, puisque je suis censé maitriser ce qui va suivre.

    J'effectue la manipulation suivante, consistant à convertir un range A1:I1 en tableau

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Dim strarray As Variant
    strarray = Range("A1:I1")
    Call getArrayLine(strarray)
    Ceci fonctionne, en entrée de la fonction getArrayLine, je me retrouve au debuggueur avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Watch : 
    - :     colsTemplates :  : Variant/Variant(1 to 1, 1 to 9) : Module1.getArrayLine
      - :     colsTemplates(1) :  : Variant(1 to 9) : Module1.getArrayLine
          :     colsTemplates(1,1) : Vide : Variant/Empty : Module1.getArrayLine
          :     colsTemplates(1,2) : 2 : Variant/Double : Module1.getArrayLine
          :     colsTemplates(1,3) : 21 : Variant/Double : Module1.getArrayLine
          :     colsTemplates(1,4) : 45 : Variant/Double : Module1.getArrayLine
          :     colsTemplates(1,5) : 26 : Variant/Double : Module1.getArrayLine
          :     colsTemplates(1,6) : 68 : Variant/Double : Module1.getArrayLine
          :     colsTemplates(1,7) : 90 : Variant/Double : Module1.getArrayLine
          :     colsTemplates(1,8) : 8 : Variant/Double : Module1.getArrayLine
          :     colsTemplates(1,9) : 7 : Variant/Double : Module1.getArrayLine
    J'ai donc un tableau à 2 dimensions : Variant/Variant(1 to 1, 1 to 9)

    Je voudrais maintenant parcourir simplement ce tableau en détectant via les fonction lbound et ubound, les bornes du tableau et c'est bien là le problème puisque les commandes suivantes ne fonctionnent pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Private Function getArrayLine(colsTemplates As Variant)
    msgbox UBound(colsTemplates,1)
    msgbox UBound(colsTemplates(1)) 'équivalente à la première je pense
    end sub
    Erreur
    L'indice n'appartient pas à la selection
    Alors comment il fait pour m'afficher colsTemplates(1) dans le debuggueur ????

    seule la commande suivante fonctionne :
    mais bien entendu elle me retourne 1...

    pourtant, dans le debuggueur, dans mon cas, sous la variable colsTemplate, il m'affiche bien en premier colsTemplate(1) et enseuite, colsTemplate (1,1, colstemplate(1,2) etc

    Qu'est ce que j'ai loupé ???

    Merci à vous pour votre aide

  2. #2
    Expert confirmé
    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Par défaut
    bjr,

    c'est la deuxième dimension qui est à 9 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msgbox UBound(colsTemplates,2)
    dans la fenêtre variables locales, colsTemplates(1) n'est pas vraiment un tableau, c'est juste écrit comme ça pour la représentation sous forme d'arbre

  3. #3
    Membre chevronné Avatar de Dinytro
    Profil pro
    Inscrit en
    Août 2003
    Messages
    402
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 402
    Par défaut
    Merci beaucoup
    Ce n'est effectivement pas très clair dans le deboggueur

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2000] Parcours d'un range filtré
    Par drjacky dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/04/2011, 10h44
  2. array et range
    Par alsimbad dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 22/10/2007, 17h13
  3. Array links[] : temps de parcours
    Par nauw dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 06/01/2007, 01h48
  4. [VBA-E]transformer array en tableau type range
    Par matel dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/03/2006, 09h50
  5. [FreePascal] Array : range checking
    Par JoseF dans le forum Free Pascal
    Réponses: 3
    Dernier message: 07/05/2005, 12h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo