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 :

Utiliser la valeur d'un Label comme variable [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Metreur
    Inscrit en
    Novembre 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Metreur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2013
    Messages : 4
    Par défaut Utiliser la valeur d'un Label comme variable
    Bonjour le Forum !
    (Premier message depuis mon inscription, hésitez pas à me dire si quelque chose ne va pas !)
    Mon soucis est que je n'arrive pas à utiliser la valeur de mon Label comme variable dans ma macro !
    Dans mon exemple, c'est pour calculer des accessoires de couverture.
    J'ai une UserForm1, qui contient par accessoire : 1 Label pour le texte, 1 TextBox1 pour la quantité.
    Pour ajouter la quantité, soit j'inscris directement la quantité dans la TextBox1, soit je double clic sur la TextBox1 pour laisser apparaitre une seconde UserForm.
    Sur mon UserForm2 (qui me sert de calculatrice), j'ai simplement une TextBox2, où j'inscris mon calcul (ex. 2+6+5+12). Sur cet UserForm2, j'ai aussi un Label1, il serra caché, qui a pour valeur, "l'adresse" de la TextBox1 qui doit recevoir le résultat, qui se trouve sur la première UserForm : UserForm1.TexTbox1.value, il y aussi un bouton valider et un Label2 pour le titre.
    Je n'arrive pas à utiliser cette "adresse", qui serra ma variable dans mon code.
    Chaque UserForm a ça propre feuille de calcul.
    Dans le bouton pour valider j'ai rentré :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     Private Sub CommandButton1_Click()
          Dim VarCalcul As String     'Je déclare ma Variable "VarCalcul" en tant que texte
          VarCalcul = UserForm2.Label1.Caption 'Ma Variable est égale à la valeur de mon Label
          VarCalcul = WorksheetFunction.VLookup(Label2.Caption, Sheets("Calculatrice").Range("C:E"), 3, False)
          '(VarCalcul = Label1.caption = Userform1.TextBox1.value) est égale à la valeur prise dans le tableau Calculatrice par rapport à son titre (Label2)
          End Sub
    Avec ce code, rien ne se passe.

    Si sur la dernière ligne je remplace directement ma Variable par l'adresse que je cherche à récupérer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UserForm1.TexTbox1.value = WorksheetFunction.VLookup(Label2.Caption, Sheets("Calculatrice").Range("C:E"), 3, False)
    Comme ça pas de soucis, la valeur s'inscrit dans la TextBox, mais ça va multiplier mon UserForm Calculatrice autant de fois que j'ai de TextBox de ce type à créer, mon but est d'avoir un seul UserForm Calculatrice pour tous, et qui serra utilisable dans plusieurs UserForm.

    Dites moi si ils vous manquent des informations, je suis pas sur d'être clair, même si j'ai fait des efforts !

    Merci à vous

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 161
    Par défaut
    Bonsoir à tous,
    sans doute devrait tu mettre un fichier en exemple .

  3. #3
    Membre à l'essai
    Homme Profil pro
    Metreur
    Inscrit en
    Novembre 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Metreur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2013
    Messages : 4
    Par défaut
    Voila, j'ai mis le minimum en espérant que ça soit bon, et que le fichier soit du bon format !

    Il faut juste cliquer sur le bouton de commande sur la feuille Calculatrice !
    Fichiers attachés Fichiers attachés

  4. #4
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    Remplace ceci dans ton code...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub CommandButton1_Click()
    VarCalcul = WorksheetFunction.VLookup(UserForm2.Label2.Caption, Sheets("Calculatrice").Range("C:E"), 3, False)
    Label1.Caption = VarCalcul
    End Sub
    Comprends rien à ce que tu veux.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Metreur
    Inscrit en
    Novembre 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Metreur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2013
    Messages : 4
    Par défaut
    Bonsoir EngueEngue, et merci de prendre un peu de temps !

    Alors quand je remplace avec ton code (je pars du principe que tu as téléchargé mon fichier), ça me met le résultat dans le label1 du UserForm2 .
    Je veux que ce résultat soit dans la TextBox1 du UserForm1 .

    Il faut que ma Calculatrice sache dans quelle TextBox de la UserForm1 elle doit écrire le résultat, c'est ma variable.
    Quand je double clic sur la TextBox que je veux remplir, un code lui dit d'ouvrir UserForm2, change son Label2 (Qui est le titre, et qui me sert à remplir la feuille Calculatrice), et change la valeur de Label1 en fonction de la TextBox qui a activé la Calculatrice (ex. si je double clic sur la TextBox1, j'aurais UserForm1.TextBox1.value)
    Je veux me servir de cette donnée pour que la Calculatrice sache dans quelle TextBox elle doit mettre le résultat.

    J'espère que ça t'aide à m'aider !

  6. #6
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub CommandButton1_Click()
    VarCalcul = WorksheetFunction.VLookup(UserForm2.Label2.Caption, Sheets("Calculatrice").Range("C:E"), 3, False)
    Select Case Label2.Caption
    Case "Faitage"
    UserForm1.TextBox1.Value = VarCalcul
    Case "Rives"
    UserForm1.TextBox2.Value = VarCalcul
    End Select
    Me.Hide
    End Sub

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 161
    Par défaut
    Bonjour le forum,
    je sais pas si j'ai compris ce que tu veux faire!
    ajoute un module normal dans lequel tu mais ça en haut
    ensuite dans tes code textbox dblclick tu ajoute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'pour la textbox1 
    ctl = 1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'pour la textbox2
    ctl = 2
    et pour finir dans le code du userform2 avant unload me tu met ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UserForm1.Controls("TextBox" & ctl).Value = VarCalcul
    voila si c'est ce que tu veux met resolu
    Cordialement

    Oups !! EngueEngue désolé je n’avais pas vu ta réponse

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

Discussions similaires

  1. utiliser le resultat d'une formule comme variable
    Par Samy21 dans le forum Débuter
    Réponses: 5
    Dernier message: 01/02/2010, 09h52
  2. Réponses: 4
    Dernier message: 20/01/2010, 11h25
  3. [XL-2007] Utiliser la valeur d'une cellule comme numéro de ligne
    Par DiesIrae dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 11/08/2009, 14h04
  4. Utiliser la valeur d'une liste comme paramètre
    Par eudeline91 dans le forum IHM
    Réponses: 0
    Dernier message: 10/06/2008, 11h03
  5. [VBA-E]Recherche d'une valeur avec la colonne comme variable
    Par Corlo dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 25/04/2007, 09h21

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