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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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:
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"
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
16
Affichages
1 K
Réponses
7
Affichages
1 K
Réponses
2
Affichages
546
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…