Remplacer le menu contextuel par un autre

Comment supprimer le menu contextuel dans le clic droit d'excel pour le remplacer par un
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 sub
sub DelPopupMenu()
 On Error Resume Next
 Application.CommandBars("ClicDroit").Delete
 end sub
sub 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 :

Mots clefs associés à cette page : , , , ,

Remerciements

Merci pour ces indications précieuses,
Fxr

Fxr