Bonjour,
A l'ouverture d'un classeur, toutes les feuilles sont cachées sauf 2, la feuille "Intro" et la feuille "Aide".
Dans la feuille "Intro" s'affiche un UF lors de l'ouverture du fichier. Cet UF se nomme "UFDeproteger" dans lequel il y a une zone de saisie "TxtMotDePasse", où l'on peut saisir un mot de passe, et 2 boutons, un qui est nommé "CmbSansPassWord" et l'autre "CmbAvecPassWord".
"CmbSans..." permet de visualiser les feuilles sans possiblité de modifications.
"CmbAvec..." permet les modifications.
Lorsque l'utilisateur clique sur le bouton "CmbSans...." alors un autre UF s'affiche, cet UF se nomme "UFOnglet". Il permet à l'utilisateur de choisir la feuille qu'il souhaite visualiser.
Voici le code associé à ce bouton :
Lorsque l'utilisateur clique sur le bouton "CmbAvec...", il lui est demandé de saisir un mot de passe. Si celui-ci est bon alors toutes les feuilles sont rendues visibles et l'UF "UFOnglet" ne doit pas apparaître et c'est là que je rencontre mon problème. En effet quel que soit le bouton su lequel je clique, l'UF apparait.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Private Sub CmbSansPassWord_Click() Unload UFDeproteger Load UFOnglets UFOnglets.Show End Sub
Que dois-je faire pour ne plus avoir ce soucis ?
Voici le code associé au bouton "CmbAvec..."
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Private Sub CmbAvecPassWord_Click() MotDePasseSaisi = TxtMotDePasse If MotDePasseSaisi = MonMotDePasse Then Else MsgBox ("Mot de passe incorrect !") End If End Sub
Le code associé à la déprotection des feuilles
Merci par avance pour votre aide
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
18
19
20
21
22
23
24
25
26 Public Const MonMotDePasse = "danlec" Public MotDePasseSaisi As String Public Sh As Worksheet Public ShEnCours As Worksheet Sub DeprotegerLesFeuilles() With UFDeproteger .TxtMotDePasse = "" .TxtMotDePasse.PasswordChar = "*" .Show End With If MotDePasseSaisi = MonMotDePasse Then Application.ScreenUpdating = False For Each Sh In Worksheets Sh.Activate ActiveSheet.Unprotect (MotDePasseSaisi) Feuil19.Activate Next Sh Application.ScreenUpdating = True MsgBox ("Toutes les feuilles ont été déprotégées !" & Chr(10) & Chr(10) & "A la fermeture du fichier, les feuilles seront re-protégées.") End If End Sub
René
Partager