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 :

Définition d'une variable composée d'une variable [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Responsable marketing opérationnel
    Inscrit en
    Décembre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Responsable marketing opérationnel

    Informations forums :
    Inscription : Décembre 2014
    Messages : 7
    Par défaut Définition d'une variable composée d'une variable
    Bonjour à tous,

    J'ai une question qui me semble toute simple, mais je n'arrive pas à solutionner.

    Je dispose de 3 variables nommées Test1, Test2 et Test3

    Je dois leur donner une valeur, et plutôt que d'écrire 3 lignes, j'aurais aimé écrire quelque chose comme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For i = 1 to 3
        "Test" & i = MsgBox("Ca marche?", vbYesNoCancel, "Essai")
    next i
    Ce code ne fonctionne pas. Savez-vous pour quelle raison? Merci par avance!

    PS: ceci est un exemple, le programme codé est un peu plus complexe.

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut



    _________________________________________________________________________________________________________
    Je suis Paris, Charlie, Bruxelles, …

  3. #3
    Membre du Club
    Homme Profil pro
    Responsable marketing opérationnel
    Inscrit en
    Décembre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Responsable marketing opérationnel

    Informations forums :
    Inscription : Décembre 2014
    Messages : 7
    Par défaut
    Pourquoi est-ce impossible?

    Si je tape le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim Test1 as Integer
     
    Test1 = MsgBox("Ca marche?", vbYesNoCancel, "Essai")
    -> je réponds par oui / non / cancel, et en fonction de la réponse, Test1 prend la valeur 6, 7 ou 2.

    La méthode n'est-elle pas correcte?

    Il s'agit néanmoins d'un hors sujet.

    Ce que je souhaite, c'est pouvoir donner une valeur à mes variables Test1, Test2, Test3, sans avoir à écrire 3 lignes différentes.

    En gros, si je veux que Test1/2/3 prennent les valeurs 2 / 4 / 6 de façon dynamique Plutôt que d'écrire :
    Test1 = 2
    Test2 = 4
    Test3 = 6

    J'aimerais écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For i = 1 to 3
       "Test" & i = 2 * i
    next i
    Le problème, c'est pour créer une variable dynamique, c'est ce "Test" & i.

  4. #4
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut


    Comme une variable ne peut pas être dynamique via du texte ! Cf l'aide VBA interne …

    Soit utiliser une variable tableau (cf tutoriel de mon précédent message) soit utiliser des cellules d'une feuille de calculs.

  5. #5
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    bonjour,
    je te conseillerais de n'utiliser qu'une variable(tableau)

    exemple à adapter (je n'ai pas fait gaffe à tes réponses Marc)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub essai()
    Dim test(3), i As Integer
    For i = 0 To UBound(test) - 1
      test(i) = "toto" & i
    Next i
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  6. #6
    Membre du Club
    Homme Profil pro
    Responsable marketing opérationnel
    Inscrit en
    Décembre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Responsable marketing opérationnel

    Informations forums :
    Inscription : Décembre 2014
    Messages : 7
    Par défaut
    Merci beaucoup !
    Je vais pencher vers la solution de la variable tableau, espérons que je m'en sorte. Ca a l'air faisable

    Bonne journée !

  7. #7
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut




    En respectant le B-A-BA d'Excel pour une matrice : Test = [{2,4,6}] … (Test variable tableau Variant)

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

Discussions similaires

  1. Variable composée d'une autre variable
    Par Pierre P dans le forum R
    Réponses: 3
    Dernier message: 01/08/2014, 16h54
  2. Appeler une macro composée d'une variable.
    Par Jacdan dans le forum Général VBA
    Réponses: 2
    Dernier message: 13/07/2008, 01h09
  3. [Smarty] nom de variable composé d'une chaîne et d'une variable
    Par Philoulheinz dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 17/05/2007, 10h13
  4. Comment définir une clé composée d'une clé composée
    Par SirKus dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 11/08/2006, 00h55
  5. copie d'une table Y d'une base A vers une table X d'une base
    Par moneyboss dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 30/08/2005, 21h24

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