Empêcher clic droit

Fermé
Denis50 - 13 juin 2019 à 16:09
 Denis50 - 14 juin 2019 à 16:31
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

ccm81 Messages postés 10878 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 11 septembre 2024 2 415
13 juin 2019 à 17:02
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
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
ccm81 Messages postés 10878 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 11 septembre 2024 2 415
14 juin 2019 à 10:19
Non, Cette portion de code est correcte.
Il te faudrait envoyer l'intégralité du code de ce module

Cdlmnt
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 306
14 juin 2019 à 13:54
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
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