Varaible mot de passe disponible partout dans le classeur

2 réponses
Avatar
rmillerlcxl
Bonjour,

Je ne ma=C3=AEtrise pas ceci parfaitement. Comment faire afin qu'un mot de =
passe (Variable) soit disponible partout dans le classeur?

- Dans une feuille masqu=C3=A9e (Feuil1) j'inscrit dans une cellule nomm=C3=
=A9e CN_Password le mot de passe =E2=80=A6 exemple "Allo". Disons que la va=
riable serait ShPwd.

- Actuellement j'utilise cette m=C3=A9thode;

Activesheet.unprotect ThisWorkbook.Sheets(Feuil.name).range("CN_Password").=
value

J'aimerais plut=C3=B4t utiliser;

Activesheet.unprotect ShPwd

Merci =C3=A0 l'avance.

2 réponses

Avatar
Michd
Bonjour,
Au lieu d'utiliser une variable, emploie une constante, c'est plus simple.
Tout en haut d'un module STANDARD, tu fais comme ceci :
Public Const MotDePasse As String = "Allo"
Et peu importe dans quel module tu te retrouves, tu pourras utiliser la constance comme ceci :
'---------------------------
Sub test()
Worksheets("Feuil1").Unprotect MotDePasse
End Sub
'---------------------------
N.B. Tu ne peux modifier la valeur d'une constante. Dans le cas contraire, emploie une variable.
Toujours dans le haut d'un module standard,
PublicMotDePasse As String
Et pour définir la variable "MotDePasse, tu dois la définir à l'intérieur d'une procédure au moins
une fois avant de pouvoir t'en servir. Lorsque la variable a été définie, tu pourrais l'utiliser
dans n'importe quelle procédure de n'importe quel module.
'---------------------------
Sub test()
MotDePasse = "Allo"
Worksheets("Feuil1").Unprotect MotDePasse
End Sub
'---------------------------
MichD
Avatar
rmillerlcxl
Merci. Ça fonctionne parfaitement.