Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Déclaration de mot de passe en variable

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 :


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:

jpb388

XLDnaute Accro
Re : Déclaration de mot de passe en variable

Bonjour à tous
pour qu'une variable soit accessible à plusieurs feuilles il faut la mettre dans un module et déclarer en public
Public Const MDP As Variant = "XXX"
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…