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 :

Récupérer valeur d'une variable reconstituée


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 407
    Par défaut Récupérer valeur d'une variable reconstituée
    Bonjour à tous,

    Dans le code suivant, je souhaite afficher dans ma MsgBox la valeur de ma variable var3 :

    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
     
    Sub test()
     
     
    var1 = "aze"
    var2 = "rty"
    var3 = var1 & var2
     
     
    azerty = 500
     
    'Je veux afficher 500, et non var3 dans ma MsgBox
     
    MsgBox var3
     
    End Sub
    Avec ce code, il m'affiche "azerty", au lieu de 500
    Merci pour votre aide.

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 187
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Dans ce cas, tu dois écrire
    Tu confonds variable et valeur d'une variable
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 407
    Par défaut
    Non je ne confonds pas...

    Puisque var3 = azerty, je voudrais que ma msgbox m'affiche la valeur de la variable qui correspond au résultat de var3.

    Donc qu'elle m'affiche 500 !

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 187
    Billets dans le blog
    53
    Par défaut
    Var3 = "azerty" et non pas azerty.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Expert éminent 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
    Par défaut
    Non var3="azerty"
    Si tu dis ce que tu veux faire. car on peut, à ma connaissance, travailler ainsi sur les objets

    exemple:
    si on a un TextBox nommé TextBox1 sur un userform, on peut l'appeler de 2 manières
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    me.TextBox1.Value
    'ou
    Var1=1
    Var2="TextBox"
    Var3=Var1 & Var2
    Me.Controls(Var3).Value
     
    'CECI EST FAUX
    Me.Var3.Value

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 407
    Par défaut
    Ton idée me parait pas mal, mais moi je n'utilise pas de UserForm :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Controls(Var3).Value
    En fait, je veux remplir une colonne de mon tableau, en fonction du contenu de la colonne A.

    Voici mon code complet :
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    Sub CompteTVA()
    
    c70600000 = 19.6
    c70600900 = 5.5
    c70601000 = 0
    
    End Sub
    
    Sub macro()
    
    Call CompteTVA
    
    lig_deb = InputBox("Saisir le 1er numéro de ligne de la classe 7 ?")
    ThisWorkbook.ActiveSheet.Range("B" & lig_deb).Activate
    ActiveCell.End(xlDown).Activate
    
    lig_fin = ActiveCell.Row
    
    For i = lig_deb To lig_fin
        Cells(i, 1).Activate
        Dim num_compte As String
        num_compte = ActiveCell.Value
        Dim compte As String
        compte = "c" & num_compte
        ActiveCell.Offset(0, 6).Value = compte
    Next
    
    End Sub
    Merci pour votre aide.

  7. #7
    Expert éminent 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
    Par défaut
    Utilise plutôt une fonction
    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
    20
    21
    22
    Function CompteTVA(Cpt As String) As Double
     
    Select Case Cpt
       Case "c70600000": CompteTVA = 19.6
       Case "c70600900": CompteTVA = 5.5
       Case Else: CompteTVA = 0
    End Select
    End Function
     
    Sub macro()
    Dim Lig_Deb As Long, Lig_Fin As Long, i As Long
    Dim compte As String
     
    Lig_Deb = InputBox("Saisir le 1er numéro de ligne de la classe 7 ?")
    With ThisWorkbook.Sheets("Feuil1")
       Lig_Fin = .Cells(.Rows.Count, "B").End(xlUp).Row
       For i = Lig_Deb To Lig_Fin
          compte = "c" & .Cells(i, 1).Value
         .Cells(i, 7).Value = CompteTVA(compte)
       Next i
    End With
    End Sub

Discussions similaires

  1. Récupérer valeur dans une variable globale
    Par zdig10 dans le forum VB.NET
    Réponses: 5
    Dernier message: 23/09/2011, 12h49
  2. Récupérer valeur d'une variable d'une autre classe
    Par toMuch dans le forum Développement Web en Java
    Réponses: 9
    Dernier message: 15/09/2010, 22h42
  3. Récupérer valeur d'une variable d'une autre class
    Par absot dans le forum Débuter avec Java
    Réponses: 7
    Dernier message: 03/11/2009, 18h25
  4. Récupérer valeur d'une variable Javascript.
    Par D3V1L J4M dans le forum ASP.NET
    Réponses: 1
    Dernier message: 08/11/2007, 04h27
  5. [MySQL] récupérer valeur d'une variable dans une autre table
    Par Tee shot dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 15/03/2007, 23h07

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