Empêcher clic droit

Denis50 -  
 Denis50 -
Bonjour,

Sur une feuille Excel j'ai des boutons de macros. Je souhaiterais empêcher leur sélection par clic droit.

Le code suivant :

Private Sub Worksheet_BeforeRightClick (By Val As Range, Cancel As Boolean)
Cancel = true
End Sub

ne fonctionne pas, il apparait le message :
nom ambigu détecté : WorkSheet_BeforeRightClick

Comment résoudre ce problème ?

Cordialement

Configuration: Windows / Firefox 67.0

4 réponses

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

    1. Il manque l'id. target dans la déclaration
    Private Sub Worksheet_BeforeRightClick(ByVal target As Range, Cancel As Boolean)

    2. N'aurais tu pas déclaré deux fois cette procédure dans la même feuille ?

    Cdlmnt
    0
    1. Denis50
       
      Avec l'id Target l'erreur de compilation reste.

      Dans la feuille j'ai aussi le code suivant :

      Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
      Dim source As Range, dest As Range, r As Range
      Set source ....

      Est-ce dû à cela ?
      0
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Non, Cette portion de code est correcte.
    Il te faudrait envoyer l'intégralité du code de ce module

    Cdlmnt
    0
  3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour

    nom ambigu détecté : WorkSheet_BeforeRightClick

    Cela veut dire qu'il y a au moins 2 macros avec le m^me intitulé dans la m^me feuille

    ==> WorkSheet_BeforeRightClick ne peut etre mentionné qu'une fois
    0
  4. Denis50
     
    Destinataires : ccM81, Michel

    WorkSheet _BeforeRightClick était effectivement déjà présent dans la feuille, unique, du classeur. J'ai pu en effectuer la suppression et n'ai plus de message d'erreur avec le nouveau code.
    Mais je peux toujours par clic droit sélectionner la forme à laquelle j'ai affecté une macro, alors que je souhaiterais l'empêcher pour toutes les formes de la feuille.
    Cdlmt
    0