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 :

Boucler sur les variables tableaux [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut Boucler sur les variables tableaux
    Bonsoir le Forum,

    J'ai beau lire, peut-être mal ou trop rapidement, les tutoriels de Michel et Didier,
    je n'arrive pas à boucler sur les variables tableaux que j'ai déclarés dans mon code.

    Exemple basique qui ressort en erreur

    Si 2 tableaux Tableau1 et Tableau2

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For I = 1 To 2
         Debug.Print Ubound(Tableau & i)
    Next I
    Par avance, je vous remercie

    Bien Cordialement.

    Marcel

    Dernier billet:
    Suppression des doublons d'un tableau structuré, gestion d'un array

    Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.


  2. #2
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Bonsoir Marcel
    C'est comme si tu mettaisOn ne peut pas concaténer la lettre y et le chiffre 1 pour appeler la variable y1
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  3. #3
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Points : 1 199
    Points
    1 199
    Par défaut
    Je ne vois pas la déclaration de "Tableau".
    C'est une feuille, une Array, une chaine de caractère constituant le nom d'une feuille ou d'une Array ?

  4. #4
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Points : 3 974
    Points
    3 974
    Par défaut
    Bonsoir,

    Une bidouille avec une collection
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Sub Test()
    Dim Tableau1()
    Dim Tableau2()
    Dim Tablo As New Collection
        Tableau1 = Range("A1:B10")
        Tableau2 = Range("D1:H20")
            Tablo.Add Item:=Tableau1
            Tablo.Add Item:=Tableau2
            For i = 1 To 2
                MsgBox "Tableau" & i & "; Dimension 1 : " & UBound(Tablo(i), 1) & Chr(10) & _
                "Tableau" & i & "; Dimension 2 : " & UBound(Tablo(i), 2)
            Next i
    End Sub
    Cordialement.

  5. #5
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut collections
    Bonjour le Forum,

    Merci à vous trois pour vos réponses.

    Mercatog

    En effet, un tableau est avant tout un type de variable.
    Je croyais utiliser la même méthode que celle concernant par exemple les contrôles dans un code Userform (Textbox1 peut se coder également Controls(« Textbox 1»), ce qui permet une concaténation)

    Defluc

    Ici, j’ai indiqué, dans cet extrait de code, la propriété Ubound. Dans mon esprit, et sachant que j’utilise la version 2003 d’Office, le terme « Tableau » s’affecte donc à une variable VBA Array.

    Gfzt82

    Bravo pour cette astuce! Elle permet une boucle sur les items de la collection, et donc sur les variables Tableau.
    (Je faisais allusion au code proposé dans la discussion ouverte par l’ami potemkine.)


    Bonne journée à tous.

    Bien Cordialement.

    Marcel

    Dernier billet:
    Suppression des doublons d'un tableau structuré, gestion d'un array

    Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.


  6. #6
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 699
    Points
    6 699
    Par défaut
    Bonsoir,

    Tant qu'à faire de travailler sur des tableaux, y rester

    Donc utiliser un tableau de tableaux et la structure For Each faites pour...

    Citation Envoyé par Aide VBA
    For Each...Next, instruction

    Répète un groupe d'instructions pour chaque élément d'un tableau ou d'une collection.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Sub Soluce()
    Dim varElement As Variant
    Dim varElement2 As Variant
    Dim tboMonTableauOne
    Dim tboMonTableauTwo
    Dim tboLeTout As Variant
     
    tboMonTableauOne = Range("A1:B10")
    tboMonTableauTwo = Range("E1:F12")
     
    tboLeTout = Array(tboMonTableauOne, tboMonTableauTwo)
     
    For Each varElement In tboLeTout
        For Each varElement2 In varElement
            Debug.Print varElement2
        Next varElement2
    Next varElement
     
    End Sub
    Cordialement,

    Ps : si le côté technique de la réponse = OK ou pas => pensez à cliquer sur les pouces et quand question résolue à la taguer résolue, et chaque action vous rapporte des points

    Didier
    Didier Gonard

    Dernier tutoriel :
    Le VBA qu'est ce que c'est ?
    Tutoriels : Voir la liste de mes tutoriels Excel & VBA et mon site pro sur ma Page DVP
    Cours et tutoriels pour apprendre Excel
    N'oubliez pas de mettre : ..quand c'est le cas !

  7. #7
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut Tableau dans Tableau
    Bonjour Didier,

    Mes excuses pour cette réponse tardive.

    En effet, l'imbrication de Tableaux semble aussi intéressante. Je n'y avais d'ailleurs jamais pensé!

    Merci donc. Et merci aussi pour les tutoriels (notamment ceux concernant les variables Tableau et les Dates).

    Bien Cordialement.

    Marcel

    Dernier billet:
    Suppression des doublons d'un tableau structuré, gestion d'un array

    Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.


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

Discussions similaires

  1. [XL-2003] Comment boucler sur les tableaux page web
    Par Maxgad dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 30/01/2013, 11h37
  2. [VB.NET] Boucler sur les checkbox de mon formulaire
    Par malhivertman1 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 24/08/2006, 10h51
  3. [TP] Question sur les variables
    Par argon dans le forum Turbo Pascal
    Réponses: 7
    Dernier message: 16/02/2006, 07h27
  4. [Sécurité] conseil sur les variables de session
    Par grinder59 dans le forum Langage
    Réponses: 1
    Dernier message: 26/01/2006, 21h05
  5. question sur les variables globales et les thread posix
    Par souris_sonic dans le forum POSIX
    Réponses: 5
    Dernier message: 13/06/2003, 13h59

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