VBA ToggleButton avec mot de passe
Bonjour à toutes et à tous,
J'ai un togglebutton qui lance différente macro (1ère partie : Déverrouillage et Affichage / 2ème partie : Masquage et Verrouillage)
Alors cher Père ou Mère Noël : Je souhaiterai mettre un mot de passe au lancement de la 1ere partie seulement , je m'explique :
Je clique sur le bouton , un mot de passe est demandé, je le saisi, ça lance la 1er partie.
Je reclique sur le bouton, ça lance la 2ème partie sans mot de passe à saisir ni de msgbox.
Je clique sur le bouton , un mot de passe est demandé, je saisi un mauvais mot de passe, ça lance rien du tout et le bouton reste normal (pas enfoncé).
J'ai essayé quelque chose, mais si je me trompe ou j'annule, le bouton reste enfoncé, et si je saisi le bon mdp, il me le demande à chaque partie.
Merci et bonnes fêtes de fin d'année.
Code :
[Private Sub ToggleButton1_Click()
Dim sPass As String
sPass = InputBox("Veuillez saisir le mot de passe")
If sPass = "planning" Then
If ToggleButton1 Then
Call Déprotéger
Call Défiltrer
Else
Call Filtrer
Call Protéger
Sheets("Bdonnées").Select
ActiveWindow.SelectedSheets.Visible = False
End If
Exit Sub
End If
End Sub[/b][/b]
Bonjour,
Comme ça peut être ?
Private Sub ToggleButton1_Click()
Dim sPass As String
If ToggleButton1 Then
sPass = InputBox("Veuillez saisir le mot de passe")
If sPass <> "planning" Then
ToggleButton1.Value = False
Exit Sub
End If
Call Déprotéger
Call Défiltrer
Else
Call Filtrer
Call Protéger
Sheets("Bdonnées").Select
ActiveWindow.SelectedSheets.Visible = False
End If
End Sub
Ah c'est pas mal, c'est même un grand pas de réalisé, on y est presque car lorsque je saisi le bon mot de passe, tout ce passe comme je le souhaite.
Lancement de la 1ere partie avec MDP et avec un reclic pour la seconde sans qu'il me demande de mot de passe. Nickel
Le problème est si je me trompe de mot de passe, il laisse bien le ToggleButton en l'état (Nickel, je ne connaissais pas le code ToggleButton1.Value = False), mais il cherche à me lancer la 2ème partie du code, celle après Else.
Bien sur ça plante car la 1ere n'est pas exécuté.
Je pense que cela vient du End if, j'ai essayé le mettre à la suite de l'autre sans succès ...
Des idées ?
De cette façon peut être ?
Private Sub ToggleButton1_Click()
Dim sPass As String
Static Memo As Boolean
If ToggleButton1 Then
sPass = InputBox("Veuillez saisir le mot de passe")
If sPass <> "planning" Then
Memo = False
ToggleButton1.Value = False
Exit Sub
Else
Memo = True
End If
Call Déprotéger
Call Défiltrer
Else
If Memo = False Then Exit Sub
Call Filtrer
Call Protéger
Sheets("Bdonnées").Select
ActiveWindow.SelectedSheets.Visible = False
End If
End Sub
I believe , I can Fly !!!
Top du top, ça marche à la perfection.
Merci Theze et joyeuses fêtes de fin d'année à toi !!