Protéger une feuille à la fin d'une instruction

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.

Bonjour,

Il y a une chose que je ne comprend pas ? Si les utilisateurs sont autorisés à utiliser les filtres malgré la protection ;

alors la macro qui remet les filtres dans leur état initial ne devrait pas non plus avoir besoin de déprotéger puis reprotéger la feuille non ?

Hello,

Merci pour ta réponse rapide.

La feuille autorise seulement le filtrage, donc en gros tu me dis que je n'ai qu'à mettre l'instruction de filtre ?

Je protège ma feuille (en cochant autoriser filtre)

Je mets la macro de réinitialisation des filtres seule à chaque fermeture et du coup protection effective à 100% ?

Merci

Hello,

Merci pour ta réponse rapide.

La feuille autorise seulement le filtrage, donc en gros tu me dis que je n'ai qu'à mettre l'instruction de filtre ?

Je protège ma feuille (en cochant autoriser filtre)

Je mets la macro de réinitialisation des filtres seule à chaque fermeture et du coup protection effective à 100% ?

Merci

Oui c'est ce que je suggère Si la protection autorise le filtrage alors la macro ne devrait plus avoir besoin de déprotéger.

Ok, je bataille depuis 1h avec ma macro mais je n'arrive pas à avoir le résultat escompté ^^", peux-tu m'aider stp?

Merci

Rechercher des sujets similaires à "proteger feuille fin instruction"