Bonjour à tous !
J'ai besoin de votre aide pour peaufiner mon code.
L'objectif est : j'ai mes feuilles de mon classeur toutes protégées à l'ouverture du classeur avec un MDP, on fait des modifs (ou pas) dans la première feuille du classeur dans les cellules déverrouillées, toutes mes colonnes ont un filtre qui est activable, si un filtre est appliqué, à la fermeture du classeur le filtre se réinitialise et l'ensemble du classeur se reprotège automatiquement.
Voici mon code :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.ScreenUpdating = False
On Error Resume Next
For Each wrksheet In ActiveWorkbook.Worksheets
wrksheet.Unprotect Password:="MDP"
wrksheet.ShowAllData
For Each lstobj In wrksheet.ListObjects
If lstobj.ShowAutoFilter Then
lstobj.Range.AutoFilter
lstobj.Range.AutoFilter
End If
wrksheet.Protect Password:="MDP", _
DrawingObjects:=True, _
Contents:=True, _
Scenarios:=True, _
AllowFiltering:=True
Next
Next
Application.ScreenUpdating = True
End Sub
Le problème est : dès que je ferme le classeur tout est ok, mais dès que je le ré-ouvre, la protection saute (je pense dû à : wrksheet.Unprotect Password:="MDP") sauf que je dois déprotéger pour réinitialiser les filtres . J'avais un peu modifié le code qui me permettait d'avoir le classeur "protégé" à l'ouverture (c'est à dire que l'on ne peut pas modifier MAIS si on cliquait sur "Oter la protection", aucun MDP ne protégeait le classeur).
Merci d'avance pour votre aide !
Cordialement,
Arkadia.