bonjour,
j'ai une macro disposant d'un panneau d'accueil (en lancement auto) ou j'ai mis une securité sur le clic de la croix :
jusque là ca marche bien. Lorsqu'on veut sortir par la croix, si on entre autre chose que "toto" ou si on clique à blanc sur ok ou annuler, on revient sur le panneau.
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 Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) ' ****************** Gestion de la croix du 1er userform****************** Dim Mot_De_Passe As String If CloseMode = 0 Then If Panneau_Accueil = True Then Me.Hide Mot_De_Passe = InputBox("veuillez entrer le mot de passe pour acceder au fichier source", "Acces fichier source") If Mot_De_Passe = "toto" Then MsgBox "Abandon de la macro - Acces fichier source" Else MsgBox "Mauvais mot de passe" Cancel = True Me.Show False End If End If End If End Sub
Le probleme c'est que via ce panneau j'accede à un 2e userform ou là, j'interdis carrement la sortie par la croix (pour obliger à passer par un bouton retour) via le code suivant :
quand je fais retour, le reviens sur mon panneau d'accueil via le code suivant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) ' ****************** gestion de la croix du 2e userform****************** If Panneau_Accueil = True Then If CloseMode = vbFormControlMenu Then MsgBox "Veuillez faire retour et quitter pour sortir" Cancel = True End If End If
et là, patatra !! lorsqu'on clique sur la croix du panneau d'accueil, la demande de mot de passe apparait bien mais n'agit pas comme prevu (on sort de la macro quelque soit la reponse)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Private Sub Retour_Click() ' ****************** bouton retour vers boite accueil ****************** Me.Hide Unload Me Load Boite_Accueil Boite_Accueil.Show End Sub
Pourtant, j'ai vérifié, on passe bien par le "else" (en rouge) du code de la croix du 1er userform.
Quelqu'un pourrait il m'aider?
merci
Partager