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 :

VBA : nom de variable dynamique


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 5
    Par défaut VBA : nom de variable dynamique
    Bonjour,

    J'aimerai savoir s'il est possible d'accéder à une variable dont le nom est composé d'une autre variable.

    J'ai par exemple des variables : MCR_report, PC_report et MN_report
    et une variable secteur qui peut prendre comme valeur : MCR, PC et MN

    peut-on remplir une de ces variables à l'aide de la variable secteur?
    J'ai essayé :

    secteur & "_report" = 5 mais cela ne fonctionne pas.

    Merci de votre aide.

  2. #2
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour,

    Passe par un Select Case
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    MaValeur = 5
    secteur = "PC"
     
    Select Case secteur
        Case "MCR": MCR_report = MaValeur
        Case "PC": PC_report = MaValeur
        Case "MN": MN_report = MaValeur
    End Select

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 5
    Par défaut
    Merci,
    mais c'était pour éviter ça que je cherchais une solution.

    Je me retrouve avec 2 select case imbriqués de 5 ou 6 cas chacun, ca n'est plus très lisible =)

  4. #4
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Il n'est pas possible de créer ou d'appeler une variable dynamiquement comme tu souhaites le faire à moins d'utiliser une variable "tableau" de ce style
    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
    Sub test()
    Dim Report(1 To 3) As Variant, Secteur As Byte
     
    Secteur = 2
     
    If Secteur > 3 Then
        MsgBox "la valeur du secteur ne peut excéder 3"
        Exit Sub
    Else
        Report(Secteur) = "Valeur correspondante au secteur 2"
    End If
     
    MsgBox Report(Secteur)
     
    End Sub

  5. #5
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 5
    Par défaut
    Merci beaucoup, cette solution m'est bien utile.

Discussions similaires

  1. [VBA Excel] Noms de variable dynamiques
    Par Log_polmed dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 24/05/2007, 11h32
  2. Nom de variable dynamique
    Par mavina dans le forum Linux
    Réponses: 7
    Dernier message: 26/04/2006, 20h48
  3. Réponses: 4
    Dernier message: 13/09/2005, 11h50
  4. Noms de Variables dynamiques
    Par horec dans le forum Langage
    Réponses: 7
    Dernier message: 22/07/2005, 16h47
  5. [SQL SERVER 2000] Noms de variables dynamiques
    Par cassoulet dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 08/09/2004, 11h44

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