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 clic droit


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 58
    Par défaut Récupérer valeur clic droit
    Bonjour à tous,

    Je vous explique mon problème : je crée dynamiquement un menu accessible via un clic droit sous Excel-VBA.
    Concrétement ce menu affiche la liste de toutes les feuilles du classeur, l'idée étant de pouvoir naviguer plus facilement à l'intérieur pour les classeurs ayant beaucoup de feuilles :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Set obj_CommandBar = Application.CommandBars("Cell")
    Set obj_CBPopup = obj_CommandBar.Controls.Add(Type:=msoControlPopup, Before:=1)
        obj_CBPopup.Caption = "Naviguer dans les onglets"
     
        For Each var_Sheet In dic_Sheets 'dictionnaire contenant le nom des feuilles
            Set obj_CBControl = obj_CBPopup.Controls.Add(Type:=msoControlButton)
            obj_CBControl.Caption = var_Sheet
            obj_CBControl.OnAction = "GOTOSheet"
        Next var_Sheet
    Le problème étant que je voudrais affecter une procédure GOTOSheet (le .onaction ) permettant d'accéder à la feuille en question, mais pour cela je dois récupérer la valeur sur laquelle l'utilisateur clique...
    Est-ce possible?
    Voyez-vous une autre solution dynamique?(autre que de créer 1 procédure par feuille...)
    Merci par avance pour votre aide.

  2. #2
    Membre Expert
    Avatar de tototiti2008
    Homme Profil pro
    Formateur/développeur
    Inscrit en
    Octobre 2008
    Messages
    1 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur/développeur

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 220
    Billets dans le blog
    2
    Par défaut
    Bonjour HurGeek,

    Comme je l'ai appris sur ce forum :
    http://www.developpez.net/forums/d92...ment-onaction/

    c'est avec plaisir que je passe le flambeau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    obj_CBControl.OnAction = "'GOTOSheet " & Chr(34) & var_Sheet & Chr(34) & "'"

  3. #3
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 58
    Par défaut
    Ha très intéressant ta réponse merci beaucoup tototiti !
    j'ai toujours pensé que le passage de paramètre était impossible...
    En farfouillant un peu j'ai également trouvé une autre solution : pour obtenir le text du controlbutton activé il faut utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CommandBars.ActionControl.TooltipText
    Merci encore

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

Discussions similaires

  1. Clic droit/gauche souris
    Par Mouse! dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 30/05/2013, 20h34
  2. Récupérer ligne+colonne lors d'un clic droit ?
    Par Jordel dans le forum Powerbuilder
    Réponses: 1
    Dernier message: 01/08/2011, 13h29
  3. Réponses: 4
    Dernier message: 18/02/2009, 18h14
  4. JSP : Récupérer valeur lors du clic sur un bouton
    Par ze veritable farf dans le forum Servlets/JSP
    Réponses: 12
    Dernier message: 11/04/2006, 11h16
  5. Evènement sur clic droit !?
    Par soccersoft dans le forum Composants VCL
    Réponses: 6
    Dernier message: 26/12/2002, 21h39

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