Protection à la fermeture
Marlj
Messages postés
58
Date d'inscription
Statut
Membre
Dernière intervention
-
Patrice33740 Messages postés 8400 Date d'inscription Statut Membre Dernière intervention -
Patrice33740 Messages postés 8400 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un fichier Excel (2010) avec des cellules verrouillées et la feuille protégée avec un mot de passe. Plusieurs personnes auront accès à ce fichier, mais une seule aura la permission de déverrouiller la feuille. Cependant, comme je ne suis pas certaine que cette personne reprotègera la feuille en fermant le fichier, j'aimerais savoir s'il existe une façon que la protection se réactive automatiquement à la fermeture du fichier.
Merci de vos lumières.
J'ai un fichier Excel (2010) avec des cellules verrouillées et la feuille protégée avec un mot de passe. Plusieurs personnes auront accès à ce fichier, mais une seule aura la permission de déverrouiller la feuille. Cependant, comme je ne suis pas certaine que cette personne reprotègera la feuille en fermant le fichier, j'aimerais savoir s'il existe une façon que la protection se réactive automatiquement à la fermeture du fichier.
Merci de vos lumières.
4 réponses
-
Si tu n'a pas confiance, pourquoi l'autorises-tu à modifier ?
Attention, ça peut tourner à la paranoïa !-
Merci, mais je cherchais une solution! :)
Mais pour ton info, ce n'est pas un problème de confiance, mais étant donné qu'il y a beaucoup de formules dans le fichier, c'est seulement pour éviter que quelqu'un efface des formules par inadvertance, étant donné que plusieurs personnes aura accès à ce fichier. Voilà.
-
-
Bonjour
on peux le faire dans le ThisWorkbook
Private Sub Workbook_BeforeClose(Cancel As Boolean)
' ----------- mettre ta foumule de protection
end sub
A+
Maurice -
Merci pour la réponse rapide, mais je ne suis pas totalement familière avec le ThisWorkbook.
Qu'est-ce que tu entends par "mettre la formule de protection", est-ce le mot de passe?
Merci -
Bonjour,
Par "mettre la formule de protection", il faut comprendre écrire le code VBA qui éffectue la protection, par exemple :Private Sub Workbook_BeforeClose(Cancel As Boolean) 'Protection de toutes les feuilles du classeur à la fermeture Const MotDePasseFeuille As String = "Mon mot de passe" Call Protège_les_Feuilles(MotDePasseFeuille) End Sub Private Sub Protège_les_Feuilles(Optional MotDePasse As String) ' Active la protection de toutes les feuilles du classeur ' ' Arguments: MotDePasse [in] Mot de passe (chaine) ' Dim wsh As Worksheet 'Feuille à protéger Dim Mode_de_Calcul As Integer 'Mode de calcul initial (manuel, auto, semi-auto) Dim Flg_Màj_Ecran As Boolean 'Etat initial de l'actualisation automatique de l'écran 'Arrêter l'actualisation automatique de l'écran et les calculs Flg_Màj_Ecran = Application.ScreenUpdating Mode_de_Calcul = Application.Calculation Application.ScreenUpdating = False Application.Calculation = xlCalculationManual 'Protéger toutes les feuilles For Each wsh In Worksheets If MotDePasse <> "" Then wsh.Protect Password:=MotDePasse, DrawingObjects:=True, Contents:=True, Scenarios:=True Else wsh.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True End If Next 'Restaurer le contexte initial Application.ScreenUpdating = Flg_Màj_Ecran Application.Calculation = Mode_de_Calcul End Sub