Bonjour à tous,
Je suis en train de créer un formulaire qui permet d'accéder à une feuille spécifique du fichier en fonction de choix fait dans des listbox. Une fois le choix effectuer un bouton apparaît et il permet d'ouvrir la feuille concernée.
A l'ouverture, je peux choisir :
- un mode utilisateur pour lequel tous les onglets sont masqués et chaque feuille protégé (pour que seules les cellules à remplir soient modifiables). Pour accéder à chaque feuille, il faut faire une selection dans un userform.
- un mode administrateur, qui déverrouille chaque feuille et fait apparaître tous les onglets.
Mon problème est le suivant.
En mode utilisateur (tout verrouillé), pour pouvoir accéder aux feuilles masquées, je dois déverrouiller la feuille concernée en début de procédure et la reverrouiller en fin de procédure. Cependant, une erreur survient:
et le Debug m'amène sur la ligne de déverrouillage.
Voici le code en question:
Sachant que j'utilise Mdp pour verrouiller et déverrouiller, je ne comprends pas qu'il considère que le mot de passe est incorrect
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Private Sub CommandButton1_Click() Dim Mdp As String Mdp = "Mon_Mot_De_Passe" 'Ouvre la feuille à remplir If Label2.Caption <> "" Then ThisWorkbook.Sheets(Label2.Caption).UnProtect Mdp 'devrait déverrouiller la feuille sélectionner ThisWorkbook.Sheets(Label2.Caption).Visible = True ThisWorkbook.Sheets(Label2.Caption).Select UserForm1.Hide ActiveSheet.Range("c4").Select ThisWorkbook.Sheets(Label2.Caption).Protect Mdp 'devrait reverrouiller la feuille une fois la procédure terminée End If End Sub
De plus, une fois mon document verrouillé par VBA, si j'essaye de déverrouiller une feuille manuellement en passant par le bandeau Excel, en utilisant "Mon_Mot_De_Passe", ça ne fonctionne pas...
Quelqu'un saurait-il m'expliquer d'où vient mon erreur?
D'avance merci pour votre aide!
Partager