Modifier le menu contextuel de la souris (code vba excel)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 33 139 fois - Téléchargée 31 fois

Contenu du snippet

Ce code vous permet (suite à la demande d'un membre ...) d'éffacer le menu contextuel de votre sourie (click droit) et de créer le votre personnaliser avec des actions rattaché à vos fonctions ...

Cela peut vous être utile ... enfin il l'a été pour moi .

Source / Exemple :


Sub Creer_Menu_Contextuel()

'Efface tout les boutons de la sourie
For z = 1 To CommandBars("Cell").Controls.Count
With CommandBars("Cell")
    .Controls(z).Visible = False
    'sinon avec l'index des boutons sur la souris remplacer par 'z'
    End With
Next

'Crée le 1 er bouton
With Application.CommandBars("Cell").Controls.Add(msoControlButton)
      .Caption = "Mon Menu 1"
      .BeginGroup = True
      .OnAction = "le nom de ta fonction"
End With

'Crée le 2 e bouton
With Application.CommandBars("Cell").Controls.Add(msoControlButton)
     .Caption = "Mon Menu 2"
      .BeginGroup = True
      .OnAction = "le nom de ta fonction"
End With

'Crée le 3e bouton
With Application.CommandBars("Cell").Controls.Add(msoControlPopup)
      .Caption = "Mon Menu 3"
      .BeginGroup = True
      'Crée le 3.1 bouton
      With .Controls.Add(msoControlButton)
        .Caption = "Sous Menu 3.1"
        .OnAction = "Nom de ta fonction"
      End With
      'Crée le 3.2 bouton
      With .Controls.Add(msoControlButton)
        .Caption = "Sous Menu 3.2"
        .OnAction = "Nom de ta fonction"
      End With
      'Crée le 3.3 bouton
      With .Controls.Add(msoControlPopup)
        .Caption = "Sous Menu 3.3"
            'Crée le 3.3.1 bouton
             With .Controls.Add(msoControlButton)
                .Caption = "Sous Menu 3.3.1"
                .OnAction = "Nom de ta fonction"
            End With
        
      End With
End With

End Sub
Sub Supp_Menu_Contextuel()
'réinitialize la sourie
Application.CommandBars("Cell").Reset
End Sub

A voir également

Ajouter un commentaire

Commentaires

cs_pluplu
Messages postés
616
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
4 juillet 2012
-
Dans quel contexte ce code s'applique t'il vba ? car je ne trouve pas la référence à l'objet application.commandbars
cs_chapata
Messages postés
215
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
9 avril 2010
3 -
Bonjour ...

ce code fonctionne chez moi en Excel 2003 (XP bien sur), je n'ai fait aucune référence particulière, il fonctionne comme ça.

Il faut bien sur le lien à un bouton ou a l'ouverture du fichier et fermeture du fichier excel ...

ChaPaTa
CerberusAbaka
Messages postés
30
Date d'inscription
dimanche 22 mai 2005
Statut
Membre
Dernière intervention
19 mars 2009
-
bonjour,

Rien a dire c super sa fait x temp que je cherché sa...


Merci
cs_lelaure
Messages postés
2
Date d'inscription
mardi 13 avril 2004
Statut
Membre
Dernière intervention
14 février 2007
-
Bonjour,
ce code fonctionne chez moi en Excel 2000 et 97.
Mais en 2003 excel me stop sur le - Z - des lignes suivantes.

For z = 1 To CommandBars("Cell").Controls.Count
With CommandBars("Cell")
.Controls(z).Visible = False
'sinon avec l'index des boutons sur la souris remplacer par 'z'
End With
Next

Le message d'erreur est le suivant:
ERREUR DE COMPILATION
PROJET OU BIBLIOTHEQUE INTROUVABLE.

Merci pour votre aide
famille.lelaure@club-intrenet.fr
us_30
Messages postés
2117
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
7 -
"BIBLIOTHEQUE INTROUVABLE" !! As-tu regardé du côté des références ? C'est surement là le problème...

Amicalement,
Us.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.