Lancement macro dans clic droit

rudymagny

XLDnaute Occasionnel
Rebonsoir le forum,

un autre sujet,
Je voudrais pouvoir lancer une macro de cette façon:

Dans mon classeur, je fais cli droit et dans le menu apparait ma macro à lancer.

Je voudrais éviter de passer par une bouton dans le menu d'excel!

Est ce possible?

Merci d'avance
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Rudymagny. bonjour le forum,

Je ne sais pas ajouter une menu au menu contextuel (mais il me semble avoir déjà vu ça ici) mais tu peux utiliser la macro événementielle BeforeRightClick. Tu peux en limiter l'action sur une cellule/plage particulière en faisant par exemple :


Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
'si le clic-droit n'a pas lieu dans la plage A1:D20 (à adapter)
'sort de la procédure (éffacer cette ligne si on veut que la macro agisse partout...)
If Application.Intersect(Target, Range('A1:D20')) Is Nothing Then Exit Sub

Cancel = True 'évite le menu contextuel lié au clic-droit
MsgBox 'remplace cette ligne par le code de ta macro'
End Sub

Copie ce code dans le module Worksheet de l'onglet appriprié.
 

Eric C

XLDnaute Barbatruc
Bonjour le forum
Bonjour rudymagny, bonjour très cher Robert

Oui Robert a raison, le problème a déjà été évoqué (Ajout au menu contextuel lors d'un click droit ==> merci Didier (mDF si tu nous regardes ... coucou), donc :

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CommandBars('Cell').Controls('Ma_Macro').Delete 'Ma_Macro étant le nom donné 
End Sub

Private Sub Workbook_Open()
With Application.CommandBars('Cell').Controls.Add(msoControlButton)
   .Caption = 'Ma_Macro'
   .BeginGroup = False
   .FaceId = 2950 'Peut être changé = nombreuses FaceId
   .OnAction = 'apparition'
End With
End Sub

Puis dans un module
Code:
Sub apparition()
MsgBox 'Coucou'  'Ta macro
End Sub

Bonne après midi à toutes & à tous ;)
 

Discussions similaires

Réponses
0
Affichages
230

Statistiques des forums

Discussions
312 492
Messages
2 088 936
Membres
103 985
dernier inscrit
JL Fargeas