OVH Cloud OVH Cloud

pb mots de passes dans thisworkbook

8 réponses
Avatar
plexus
Bonjour,

j'ai un petit souci de mots de passe : (Non je n'ai pas oubli=E9 mon mot
de passe !) mais Excel ne le reconnait plus et je me retrouve coin=E7=E9.

Dans un module j'avais d=E9clar=E9 :
Public Const password =3D "mdp" 'le mot de passe

dans un autre module j'avais la sub suivante :
Sub deverouille()

Dim feuille As Worksheet
Set feuille =3D ActiveSheet
feuille.Unprotect password:=3Dpassword
End Sub

Dans un 3 eme module j'avais plusieurs sub qui utilsaient :
Sheets(X).Unprotect password:=3Dpassword
.=2E.
Sheets(X).Protect password:=3Dpassword

Tout cela fonctionnait tr=E8s bien jusqu'=E0 ce que je mette dans This
Workbook :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets(Y).Select
Sheets(X).Visible =3D False
Sheets(X).Protect password:=3Dpassword
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Sheets(Y).Select
Sheets(X).Visible =3D False
Sheets(X).Protect password:=3Dpassword
End Sub

Private Sub Workbook_Open()
Sheets(Y).Select
Sheets(X).Visible =3D False
Sheets(X).Protect password:=3Dpassword
End Sub

R=E9sultat toutes les feuilles sont bien prot=E9g=E9es mais je ne peux plus
les d=E9prot=E9ger avec le mot de passe ou ma sub de d=E9verrouillage.

Quelqu'un aurait il une id=E9e du pourquoi du ph=E9nom=E8ne et comment y
rem=E8dier ?
cela vient'il de la similitude de la fonction avec le mot password ?
j'ai remplac=E9 partout password par mdp
Public Const mdp =3D "mdp"
.Unprotect password:=3Dmdp
puis j'ai sauvegard=E9, mais rien n'y a fait...

Merci de votre aide

8 réponses

Avatar
MichDenis
| Dans un module j'avais déclaré :
| Public Const password = "mdp" 'le mot de passe

Pourquoi utilises-tu le mot "password" comme constante pour y mettre ton mot de passe.
Que ce soit pour le nom d'une variable ou d'une constante, ce n'est jamais une bonne
idée d'utiliser un mot réservé par le langage de programmation VBA. Si tu modifies
le nom de ta constante, est-ce que le problème persiste ?

N.B
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dans cette "sub" si tu n'enregistres pas les modifications faites,
est-ce que tu penses qu'excel va sauvegarder les modifications
que tu y apportes ?





"plexus" a écrit dans le message de news:

Bonjour,

j'ai un petit souci de mots de passe : (Non je n'ai pas oublié mon mot
de passe !) mais Excel ne le reconnait plus et je me retrouve coinçé.

Dans un module j'avais déclaré :
Public Const password = "mdp" 'le mot de passe

dans un autre module j'avais la sub suivante :
Sub deverouille()

Dim feuille As Worksheet
Set feuille = ActiveSheet
feuille.Unprotect password:=password
End Sub

Dans un 3 eme module j'avais plusieurs sub qui utilsaient :
Sheets(X).Unprotect password:=password
...
Sheets(X).Protect password:=password

Tout cela fonctionnait très bien jusqu'à ce que je mette dans This
Workbook :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets(Y).Select
Sheets(X).Visible = False
Sheets(X).Protect password:=password
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Sheets(Y).Select
Sheets(X).Visible = False
Sheets(X).Protect password:=password
End Sub

Private Sub Workbook_Open()
Sheets(Y).Select
Sheets(X).Visible = False
Sheets(X).Protect password:=password
End Sub

Résultat toutes les feuilles sont bien protégées mais je ne peux plus
les déprotéger avec le mot de passe ou ma sub de déverrouillage.

Quelqu'un aurait il une idée du pourquoi du phénomène et comment y
remèdier ?
cela vient'il de la similitude de la fonction avec le mot password ?
j'ai remplacé partout password par mdp
Public Const mdp = "mdp"
.Unprotect password:=mdp
puis j'ai sauvegardé, mais rien n'y a fait...

Merci de votre aide
Avatar
plexus
Bonjour Denis,

j'ai effectivement changé password par mdp dans toutes les sub y
compris celles de thisworkbook mais le problème persiste

par contre je ne vois pas ce que tu veux dire par :

N.B
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dans cette "sub" si tu n'enregistres pas les modifications faites,
est-ce que tu penses qu'excel va sauvegarder les modifications
que tu y apportes ?

en fait mes sub beforeclose et before save contiennent à peu près les
même lignes

merci de ton aide
Avatar
anonymousA
Bonjour,

Quand tu dis que tes feuilles sont verrouillées, quel mot de passe te
permet de les déverouiller ? Ne serait-ce pas "" c.à.d rien en fait ?

A+

On 12 fév, 14:42, "plexus" wrote:
Bonjour Denis,

j'ai effectivement changé password par mdp dans toutes les sub y
compris celles de thisworkbook mais le problème persiste

par contre je ne vois pas ce que tu veux dire par :

N.B
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dans cette "sub" si tu n'enregistres pas les modifications faites,
est-ce que tu penses qu'excel va sauvegarder les modifications
que tu y apportes ?

en fait mes sub beforeclose et before save contiennent à peu près les
même lignes

merci de ton aide


Avatar
plexus
Bonjour,
J'ai bien essayé de ne rien taper, mais cela donne le même résultat :
mot de passe invalide...
j'ai l'impression qu'il garde en mémoire un mot de passe incorrect et
ne prends pas vraiment en compte ma déclaration public const.

Merci,
Avatar
anonymousA
Peux-tu publier ton fichier ?

A+

On 12 fév, 15:02, "plexus" wrote:
Bonjour,
J'ai bien essayé de ne rien taper, mais cela donne le même résultat :
mot de passe invalide...
j'ai l'impression qu'il garde en mémoire un mot de passe incorrect et
ne prends pas vraiment en compte ma déclaration public const.

Merci,


Avatar
plexus
Merci de ta proposition, cela m'aiderait beaucoup, mais je ne peux pas
le publier
je vais essayer de recopier tous mes modules dans une ancienne version
sauvegardée qui n'a pas le problème et faire la modification de
password en mdp
en espérant que cela fonctionne et me permette de ne pas perdre le
travail de la matinée...
Avatar
plexus
Alors,
Après avoir recopié tous mes modules dans une ancienne version
sauvegardée,
le problème semble résolu.
Phénomène inexplicable sauf par le bazard que j'ai du mettre en
utilisant un nom de variable trop proche.
Merci de votre aide à tous
Avatar
plexus
Merci de ta proposition, cela m'aiderait beaucoup, mais je ne peux pas
le publier
je vais essayer de recopier tous mes modules dans une ancienne version
sauvegardée qui n'a pas le problème et faire la modification de
password en mdp
en espérant que cela fonctionne et me permette de ne pas perdre le
travail de la matinée...