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 :

Personnaliser le menu contextuel


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 45
    Points : 35
    Points
    35
    Par défaut Personnaliser le menu contextuel
    -----------RESOLU--------------
    bonjour je remonte ce sujet car mon but est d'avoir une série de commandes disponibles dans un menu contextuel sous excel.
    j'utilise le code donné par dadavyvy mais j'ai un souci:

    à chaque ouverture du fichier, la liste supplémentaire du menu contextuel s'ajoute au menu contextuel...
    en gros là, j'aurai auntant de fois "affichage des données numériques" dans mon menu contextuel, que de nombre fois que j'ai ouvert le classeur.

    une info pour palier à ce problème?

    -------------NON RESOLU----------------

    j'en profite pour une mini question supplémentaire:
    est-il possible de placer une petite icône devant notre ligne de commande dans le menu?

    merci beaucoup.

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Tu dois supprimer ton menu en fermant ton classeur, sinon... tu connais et en plus il restera pour les autres classeurs
    Jète un oeil , tu as le code pour supprimer le dernier menu ou bouton ajouté. Attention, celui-ci a été ajouté à la barre d'outils "Standard".
    Adapte le nom.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 45
    Points : 35
    Points
    35
    Par défaut
    merci bien j'ai codé comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub auto_close()
    Application.CommandBars("cell").Controls(Application.CommandBars("cell").Controls.Count).Delete
     
    End Sub
    et ça marche.

    par contre j'ai le même problème que sur le fil linké c'est à dire que lorsque je sélectionne la macro avec le menu contextuel j'ai droit à un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    la macro "nomduclasseur.xls'!nomdelamacro'  est introuvable
    et quand je liste les macros dans la fenêtre d'ouverture des macros celle-ci est dénommée:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'nomduclasseur.xls'!nommodule.nomdelamacro
    au lieu de nomdelamacro comme toutes les autres.

    pécision: la création du menu contextuel se fait sur les commandes du classeur.
    la macro que je cherche à activer se trouve dans un module du même classeur (nommodule)

    et je n'ai pas compris la solution proposée dans le fil linké. :/

    help?

  4. #4
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 45
    Points : 35
    Points
    35
    Par défaut
    me revoilà...

    j'ai codé comme cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .onaction = "nommodule.nomdelamacro"
    et ça marche.

    reste donc une seule question, y a t il un moyen de voir apparaître à gauche de la ligne du menu contextuel un petit icone correspondant ?
    j'avoue que ce n'est pas indispensable mais si une personne voit comment faire... ça rendra le menu plus lisible

  5. #5
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 150
    Points
    20 150
    Par défaut
    bonsoir

    y a t il un moyen de voir apparaître à gauche de la ligne du menu contextuel un petit icone correspondant ?
    Tu peux utiliser la propriété FaceId:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim oBouton As CommandBarButton
    Set oBouton = Application.CommandBars("Cell").Controls.Add _
        (msoControlButton, temporary:=True)
     
    With oBouton
        .Caption = "Cliquez ici"
        .OnAction = "NomMacro"
        .FaceId = 205
    End With


    michel

  6. #6
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 45
    Points : 35
    Points
    35
    Par défaut
    j'ai codé comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Set cmb = Application.CommandBars("Cell").Controls.Add(msoControlButton, temporary:=True)
    With cmb
    .Caption = "Imprimer planning hebdo"
    .OnAction = "ajouts.imprime"
     
    .Style = msoButtonCaption
    .TooltipText = "impression du planning hebdomadaire d'un intervenant..."
    .BeginGroup = True
    .Visible = True
    .FaceId = 4 'icône de petite imprimante
    End With
    ça ne fait rien du tout. (pas d eplantage mais pas d'icône)

    qu'est ce qui cloche?

  7. #7
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 150
    Points
    20 150
    Par défaut
    bonsoir

    Vérifie le menu contextuel. Ta procédure fonctionne sur mon poste (Excel2007)


    bon week end
    michel

  8. #8
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 45
    Points : 35
    Points
    35
    Par défaut
    hum qu'entends-tu par "vérifier le menu contextuel" ?

    celui-ci fonctionne sans souçi, mais sans icône...

    j'ai excel sous W2K NT pro (au boulot).
    idem pour excel 2004 mac.

  9. #9
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 150
    Points
    20 150
    Par défaut
    rebonsoir

    Je n'ai pas été clair dans mon précédent message: la macro que je t'ai proposé affiche le Face ID.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim oBouton As CommandBarButton
    Set oBouton = Application.CommandBars("Cell").Controls.Add _
        (msoControlButton, temporary:=True)
     
    With oBouton
        .Caption = "Imprimer planning hebdo"
        .OnAction = "ajouts.imprime"
        .FaceId = 4
    End With


    michel

  10. #10
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 45
    Points : 35
    Points
    35
    Par défaut
    ok je te remercie, c'est plus clair effectivement

    je testerai ça lundi au boulot


    edit: c'est bon ça fonctionne!

    merci encore!

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

Discussions similaires

  1. Personnalisation du menu contextuel Flash
    Par arnolem dans le forum Téléchargez
    Réponses: 0
    Dernier message: 30/09/2011, 17h55
  2. [AC-2007] Personnaliser le menu contextuel issu d'un clic droit
    Par al_bert dans le forum IHM
    Réponses: 2
    Dernier message: 06/08/2009, 22h47
  3. Réponses: 1
    Dernier message: 16/11/2007, 16h02
  4. Menu contextuel et bouton personnaliser
    Par mikedavem dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/07/2007, 09h41
  5. Réponses: 1
    Dernier message: 26/07/2007, 12h01

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