[VBA]Evenement BeforeDoubleClick sur une feuille protégée

Bonjour,

je n'arrive pas à trouvez une solution à mon problème, alors je viens demander votre aide.

Ce que je souhaite faire :

Sur une feuille protégée, j'interdis la sélection des cellules verrouillée.

Lors du double clic sur une cellule déverrouillée, j'utilise l’événement "BeforeDoubleClick" pour insérer du texte dans la cellule.

Le problème rencontré :

Si l'utilisateur double clique sur une cellule verrouillée, l’événement "BeforeDoubleClick" est déclenché, et s'exécute sur la cellule active,

qui n'est donc pas la cellule double cliquée puisque celle-ci n'est pas sélectionnable.

Comment puis-je faire pour "filtrer" l'évenement, sachant que je ne souhaite pas permettre à l'utilisateur de sélectionner les cellules verrouillées

Bonjour,

Tu ne peux pas utiliser la protection ni le verrouillage comme discriminant pour les évènements de feuille (y compris Change ou RightClick) car comme le dit bien le nom de la macro c'est la Feuille qui reçoit l'évènement.

Dans le cas particulier de cellules protégées l'évènement est attribué à la cellule Active puisque les cellules protégées ne sont pas sélectionnables... C'est peut-être tordu mais c'est comme ça !

Il faut donc travailler sur des zones non protégées et avec la méthode Intersect.

Voici un exemple adapté à ton classeur :

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim iR, iC, isect
If Target.Count = 1 Then
iR = Target.Row
iC = Target.Column
Set isect = Application.Intersect(Target, Range("zone"))
   If Not isect Is Nothing Then
   Cancel = True
      Select Case iC
      Case Is < 6: iC = 4
      Case Is < 8: iC = 6
      Case Else: iC = 8
      End Select
      Cells(iR, iC) = IIf(Cells(iR, iC) = "", "X", "")
   End If

End If
End Sub

Je te l'ai fait avec RightClick mais tu peux faire la même chose avec DoublreClick

A+

Bonjour galopin01,

merci de ta réponse et de t'être penché sur mon problème,

cependant ta solution a le même comportement que la mienne lorsque la feuille est protégée.

Et je ne souhaite pas autoriser la sélection des cellules protégées.

Peut-être y-a-t'il une astuce pour contourner ce problème...

Rechercher des sujets similaires à "vba evenement beforedoubleclick feuille protegee"