Excel: conflit entre la validation, la protection et la feuille de travail_ventésDoubleClick

J'essaie de build une feuille de travail protégée où l'une des cellules a les qualités suivantes:

  1. En cliquant deux fois sur la cellule, on la remplit par "bonjour".
  2. La cellule ne peut être vide ou contenir le mot "bonjour".

J'ai donc décidé de mettre la validation sur la cellule et j'écris un événement de la worksheet_beforeDoubleClick() .

Disons que c'est la cellule A1. En commençant par une feuille de calcul vide, dans B1, j'entre "hello", et je définis la validation A1 comme une list avec la plage B1: B2.

Mon code d'événement double-clic est le suivant:

 Private Sub worksheet_beforedoubleclick(ByVal Target As Range, Cancel As Boolean) If Target.Row = 1 And Target.Column = 1 Then Target.Value = "hello" End If End Sub 

Ce code et cette validation fonctionnent bien tandis que la feuille n'est pas protégée; la cellule remplit «bonjour» en double-cliquant.

Cependant, une fois que la feuille est protégée, en double-cliquant sur la cellule A1 tourne le pointeur de la souris dans un sablier jusqu'à ce que j'appuie sur Esc ou clique sur une autre cellule; la cellule ne remplit pas le mot "bonjour".

Une idée de ce qui se passe?

Lorsque vous protégez la feuille, cochez la case "Modifier les objects" et cela fonctionnera. Je ne sais pas pourquoi, mais ce sera.

Merci à Doug pour un avance dans la bonne direction. Pour une reference future, un bon extrait VBA pour ceci est:

 ActiveSheet.Protect UserInterfaceOnly:=True, DrawingObjects:=False 

Cela protégera la feuille, mais permettra aux macros de modifier la feuille, ainsi que d'éliminer le conflit décrit ici.