Feuille protégée + cellule avec liste bloquent évènement double clic

Charly88

XLDnaute Occasionnel
Bonjour,

Je joins un fichier exemple, j'ai simultanément :
- une macro à déclencher par double-clic sur des zones prédéfinies.
- une feuille avec des zones à protéger, en dehors de ces zones prédéfinies
- certaines zones prédéfinies contiennent des listes déroulantes

Seulement voilà, je suis tombé de ma chaise en constatant que l'évènement double-clic ne se déclenche plus si la protection de feuille est activée et la cellule a une liste déroulante même si cette cellule précise n'est elle pas protégée.

Je sens déjà venir venir le "c'est une bizarrerie vba-excel" impossible à passer mais ce forum grouille de solutions inattendues :D

En vraie-fausse solution, il me resterait : protéger autrement mes zones ou utiliser un autre type de évènement mais ni l'un ni l'autre ne m'enchante.
 

Pièces jointes

  • FeuilleProtectionetListeBloquentEvèDoubleClic.xlsm
    16.6 KB · Affichages: 30

Robert

XLDnaute Barbatruc
Repose en paix
Re : Feuille protégée + cellule avec liste bloquent évènement double clic

Bonjour Charly, bonjour le forum,

je constate et découvre, comme toi, cette anomalie ! Mais bon, double-cliquer dans une cellule contenant une validation de données, je n'y aurais même pas pensé...

Le clic du bouton droit fonctionne :

Code:
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim Plage1 As Range
If ThisWorkbook.Windows(1).SelectedSheets.Count > 1 Then
    MsgBox "Plusieurs feuilles sont sélectionnées, action bloquée"
    Exit Sub
End If
Set Plage1 = Sh.Range("A1:A20,C1:C20")
If Not Application.Intersect(Target, Plage1) Is Nothing Then 
     Cancel = True 'évite le menu contextuel lié au lic du boouton droit
     MsgBox "ok"
End If
End Sub
 

job75

XLDnaute Barbatruc
Re : Feuille protégée + cellule avec liste bloquent évènement double clic

Bonjour Charly88, Robert,

On peut déprotéger la feuille quand une cellule avec liste de validation est sélectionnée :

Code:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Excel.Range)
Dim test As Boolean
On Error Resume Next
test = Target.Validation.InCellDropdown
If test Then Sh.Unprotect Else Sh.Protect
End Sub
A+
 

Charly88

XLDnaute Occasionnel
Re : Feuille protégée + cellule avec liste bloquent évènement double clic

... et en rajoutant un Sh.protect à la fin des macros déclenchées par un clic dans les zone à liste de validation, ma feuille se retrouve toujours protégée sauf durant l'exécution de la macro. Merci beaucoup job75 !
Un point (agréablement) surprenant c'est que l'évènement SheetSelectionChange se déclenche le premier, puis vient le SheetBeforeDoubleClick.


Merci aussi Robert pour ta suggestion.
 

Discussions similaires

T
Réponses
4
Affichages
3 K
vincent
V

Statistiques des forums

Discussions
312 348
Messages
2 087 510
Membres
103 570
dernier inscrit
patrickb83p