Remplacer le menu contextuel par un autre
autre ?
Un exemple de code à adapter pour remplacer le menu contextuel des cellules par son propre menu
1- création du menu '(à recopier dans un module standard)
sub CreatePopupMenu()
Dim MaBarre As CommandBar
DelPopupMenu
Set MaBarre = Application.CommandBars _
.Add(Name:="ClicDroit", Position:=msoBarPopup)
With MaBarre
.Controls.Add Type:=msoControlButton
.Controls(1).OnAction = "Macro1"
.Controls(1).Caption = "Commande1"
.Controls.Add Type:=msoControlButton
.Controls(2).OnAction = "Macro2"
.Controls(2).Caption = "Commande2"
End With
MaBarre.ShowPopup
end subsub DelPopupMenu()
On Error Resume Next
Application.CommandBars("ClicDroit").Delete
end subsub Macro1() MsgBox "Commande 1 cliquée" end sub
sub Macro2() MsgBox "Commande 2 cliquée" end sub
2- utilisation dans une feuille '(à recopier dans le module de la feuille)
Private sub Worksheet_BeforeRightClick( _
ByVal Target As Range, Cancel As Boolean)
Cancel = True 'empêche l'affichage du menu d'Excel
CreatePopupMenu
end sub'3- nettoyage final '(à recopier dans le module ThisWorkbook)
Private sub Workbook_BeforeClose(Cancel As Boolean) DelPopupMenu end sub
Auteur : Frédéric Sigonneau
Mots clefs associés à cette page : clic, cliquer, menu, contexte, contextuel
- Vous devez vous identifier ou créer un compte pour écrire des commentaires

Remerciements
Merci pour ces indications précieuses,
Fxr
Fxr