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

VBA Discussion :

VBA Récupérer le nom d'une variable


Sujet :

VBA

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Contrec
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations forums :
    Inscription : Mars 2005
    Messages : 597
    Par défaut VBA Récupérer le nom d'une variable
    Bonjour,

    Je suis confronté à un problème que je n'arrive pas à résoudre malgré mes recherches :

    J'aimerai récupérer le nom d'une variable (string, double, integer...) dans une autre variable string comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim toto as Integer
    Dim nomToto as String
     
    nomToto = NomDeLaVariable(toto)
    nomToto doit contenir "toto". Ceci doit fonctionner pour tout type de variable (string, integer, double).

    Merci pour vos réponses.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Bonjour,

    j'ai un doute, cherches-tu à récupérer la valeur d'une variable ou son nom ?

    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim piou as String
    piou = "Pioupi"
    tu veux trouver "piou" ou bien "Pioupi" ?

    S'il s'agit du premier, je ne comprends pas l'intérêt ou l'objectif
    S'il s'agit du second, un simple
    suffira
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre éclairé Avatar de Contrec
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations forums :
    Inscription : Mars 2005
    Messages : 597
    Par défaut
    Je veux récupérer "Piou", le nom de la variable et non sa valeur. Puisque tu te demandes quel interêt j'y apporte, je te réponds, peut-être auras-tu une meilleure solution à mon problème, je n'ai pas de contraintes :

    Je possède des modules de classe dont voici un exemple simple, module mModuleTest :

    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
    Private mPath As String
    Private mNumber As Integer
     
    Property Get Path() As String
        Path = mPath
    End Property
     
    Property Let Path(Path As String)
        mPath = Path
    End Property
     
    Property Get Number() As Integer
        Number= mNumber
    End Property
     
    Property Let Number(Number As Integer)
        mNumber = Number
    End Property
    Je voudrai faire un système permettant de sortir une collection de cet objet pour aire du débug dans un fichier Excel. Par exemple, j'ai une collection de cet objet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim moduleTestList as Collection
    Elle contient 3 objets mModuleTest :

    1) - "Toto"
    - 34

    2) - "Tata"
    - 45

    3) - "Titi"
    - 72

    Je voudrai sortir ces 3 résultats dans un fichier excel avec comme nom de colonne "Path" et "Number". Pour faire cela, il ne me manque plus qu'à récupérer le nom des 2 variables et m'en servir pour les colonnes. Cette méthode doit s'adapter à tous les objets que j'ai (pas seulement à mModuleTest).

    Voici le résultat final à sortir dans l'excel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Path    Number
    Toto     34
    Tata     45
    Titi       72
    Voilà

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    hum, pas convaincu, mais si le résultat attendu dans Excel est celui indiqué, il suffirait de faire une boucle for each + utilisation de mpath et mnumber.

    Mis à part cela, pas la moindre idée
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    Je suis aussi perplexe que jpcheck (Salut JP)...

    Si tu charges une collection d'objets, tu recherches l'objet sur sa clé d'entrée dans la collection puis tu exprimes ses propriétés, ou tu itères sur les objets de la collection...

    Peux-tu préciser?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  6. #6
    Membre éclairé Avatar de Contrec
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations forums :
    Inscription : Mars 2005
    Messages : 597
    Par défaut
    En général je fais une boucle for each monObjet in moduleTestList.

    Pour le contenu il n'y a pas de problème mais c'est pour les entêtes de colonne qu'il me faut récupérer le nom des variables membres de l'objet ("Path" et "Number" à mettre sur la première ligne de l'excel).

    J'ai l'impression que l'on ne peut pas faire ce que je veux...

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

Discussions similaires

  1. Récupérer le nom d'une variable
    Par marsupilami34 dans le forum Général VBA
    Réponses: 1
    Dernier message: 11/03/2009, 23h07
  2. Récupérer le nom d'une variable
    Par hector2 dans le forum Scilab
    Réponses: 8
    Dernier message: 15/10/2008, 16h15
  3. [Tableaux] Récupérer le nom d'une variable
    Par Tchupacabra dans le forum Langage
    Réponses: 4
    Dernier message: 20/05/2008, 17h55
  4. [VBA]Stocker le nom d'une variable dans une autre variable
    Par strike57 dans le forum VBA Access
    Réponses: 6
    Dernier message: 23/04/2007, 19h09
  5. [Tableaux] Récupérer le nom d'une variable
    Par lem dans le forum Langage
    Réponses: 6
    Dernier message: 06/02/2007, 10h21

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