J'ai une feuille de calcul Excel protégée, sans mot de passe. Ce que je voudrais faire est de piéger l'événement qu'un utilisateur déprotège la feuille de calcul, afin que je puisse générer un message (et nag 'em!). Je peux configurer la vérification d'événement pour l'application, pour quand de nouveaux classeurs sont ouverts, etc., mais pas pour Unprotect.
Est-ce que quelqu'un a une idée?Interrompre l'événement de suppression de la feuille de travail dans Excel
2
A
Répondre
1
Il est possible de modifier le menu en utilisant Outils-> Personnaliser. PROTEGER/Unprotect peut être configuré pour exécuter une macro, par exemple:
Sub UnprotectTrap()
If ActiveSheet.ProtectContents = True Then
MsgBox "Tut,tut!"
ActiveSheet.Unprotect
Else
ActiveSheet.Protect
End If
End Sub
0
Il n'y a aucun moyen de piéger l'utilisateur déprotéger la feuille, mais vous pouvez les avertir si elles enregistrez le classeur sans reprotecting la feuille (s) .
Dans le module classeur, mettez ce code, ou quelque chose comme ça
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Sheets("MyProtectedSheet").ProtectContents = False Then
MsgBox "The sheet 'MyProtectedSheet' should not be left unprotected. I will protect it before saving", vbInformation
Sheets("MyProtectedSheet").Protect
End If
End Sub