barbenault
XLDnaute Nouveau
Bonjour,
Je cherche à déclarer un mot de passe comme une variable, ce mot de passe sera utilisé pour plusieurs feuilles de mon classeur, je trouve qu'il sera donc plus simple de modifier ce mot de passe une fois plutôt que sur chaque feuille (le cas échéant).
Je souhaite aussi activer la protection à chaque ouverture / enregistrement. Voici le code enregistré dans MyWorkBook :
Je recontre cependant un problème lorsque je lance ma macro qui est censée déprotéger et reprotéger ma feuille.
Voici le code utilisé (je vous épargne le reste du code car le problème vient de la déprotection... il semble que MDP renvoie une valeur vide... le lien avec MyWorkBook ne se fait pas, faut-il redéclarer MDP dans chaque Sub???)
Pourriez vous m'indiquer ce qui ne fonctionne pas? Merci d'avance.
Je cherche à déclarer un mot de passe comme une variable, ce mot de passe sera utilisé pour plusieurs feuilles de mon classeur, je trouve qu'il sera donc plus simple de modifier ce mot de passe une fois plutôt que sur chaque feuille (le cas échéant).
Je souhaite aussi activer la protection à chaque ouverture / enregistrement. Voici le code enregistré dans MyWorkBook :
Code:
Option Explicit
Const MDP As Variant = "XXX"
Private Sub Workbook_Open()
Call protections
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Call protections
End Sub
Sub protections()
ActiveWorkbook.Protect Password:=MDP, Structure:=True, Windows:=False
Sheets("Readme").Protect Password:=MDP
Sheets("0.ProjectOverview").Protect Password:=MDP
Sheets("1.BudgetFollowup").Protect Password:=MDP
Sheets("2.ForecastedExp").Protect Password:=MDP
Sheets("4.ImportBudget").Protect Password:=MDP
Sheets("data_source").Protect Password:=MDP
End Sub
Je recontre cependant un problème lorsque je lance ma macro qui est censée déprotéger et reprotéger ma feuille.
Voici le code utilisé (je vous épargne le reste du code car le problème vient de la déprotection... il semble que MDP renvoie une valeur vide... le lien avec MyWorkBook ne se fait pas, faut-il redéclarer MDP dans chaque Sub???)
Pourriez vous m'indiquer ce qui ne fonctionne pas? Merci d'avance.
Code:
...
ActiveSheet.Unprotect Password:=MDP
... ActiveSheet.Protect UserInterfaceOnly:=True, Password:=MDP, DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowSorting:=True, AllowFiltering:=True, AllowFormattingCells:=False, AllowFormattingColumns:=True, _
AllowFormattingRows:=False
Dernière édition: