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 :

Nom de variable concaténé [Toutes versions]


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 102
    Par défaut
    Bonjour,

    Je bute sur un petit truc qui semble tout bete, et pourtant ...

    J'ai plusieurs listebox nommées LB1, LB2, ..., LBn
    Je voudrais obtenir la valeur de toutes ces Listesbox !
    J'ai donc essaye de les obtenir dans une boucle du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    FOR i=0 ...
    Variable1 = (LB & i).value
    NEXT
    Mais evidemment ca ne marche pas ...
    Comment puis-je procéder ?



    Je me rend compte que mon exemple de code n'est pas très clair, donc je mets une partie du code du formulaire, ca sera plus simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    'Insertion des données dans le tableau
    MagFrame1 = Me.MagBox1.Value
    FinFrame1 = Me.TextBox1.Value
    MagFrame2 = Me.MagBox2.Value
    FinFrame2 = Me.TextBox2.Value
    MagFrame3 = Me.MagBox3.Value
    FinFrame3 = Me.TextBox3.Value
     
    For i = 1 To Me.Toupie.Value Step 1
    'ActiveDocument.Tables(1).Cell(i + 1, 1).Range.Text = MagFrame & i
    'ActiveDocument.Tables(1).Cell(i + 1, 2).Range.Text = FinFrame & i
    MsgBox ("i vaut " & i & "et le message vaudrait " & Magframe & i)
    Next i

  2. #2
    Membre Expert Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Par défaut
    Bonjour

    un code uniquement pour t'aiguiller sur la syntaxe à utiliser car je n'ai pas tout compris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For i = 1 to 3
         msgbox me.controls("MagBox" & i).value
    next i

  3. #3
    Expert confirmé
    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
    Par défaut
    Bonjour,

    Pour moi, ce que j'en comprend, ça sentirait à plein nez la variable tableau

    Voir tout ce qu'il faut ici si besoin, c'est plus simple que ça en a l'air :

    http://silkyroad.developpez.com/vba/tableaux/


    cordialement,

    Didier

  4. #4
    Membre Expert Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Par défaut
    Bonjour ormonth

    oui j'y ai pensé, mais comme est fait son code, je ne vois pas l'interet de tout décharger dans des variables. le code serait plus simple comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For i = 1 To Me.Toupie.Value1
             'ActiveDocument.Tables(1).Cell(i + 1, 1).Range.Text = MagFrame & i
             'ActiveDocument.Tables(1).Cell(i + 1, 2).Range.Text = FinFrame & i
             MsgBox "i vaut " & i & "et le message vaudrait " & me.controls("MagBox" & i)
    Next i

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 102
    Par défaut
    Parfait !!!
    Le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    me.controls("MagBox" & i)
    me convient parfaitement pour ce que j'ai à faire, et le passage en tableau me servira pour la suite !!! (J'avais un peu oublié la facon de procéder pour mettre en tableau en VBA )

    Merci beaucoup pour tout, je repars bosser dessus !!!

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

Discussions similaires

  1. Concaténation de variables dans un nom de variables ?
    Par debie1108 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 28/05/2007, 03h51
  2. Concaténer une chaine et un nombre pour former un nom de variable ?
    Par debie1108 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 30/04/2007, 07h38
  3. modifier nom de variable et concaténation
    Par edouardj dans le forum Langage
    Réponses: 10
    Dernier message: 26/01/2007, 18h59
  4. concaténation de nom de variable
    Par sandytarit dans le forum Langage
    Réponses: 10
    Dernier message: 23/01/2007, 10h52
  5. [VBSCRIPT] concaténer 2 noms de variable
    Par wil4linux dans le forum ASP
    Réponses: 4
    Dernier message: 28/02/2006, 13h22

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