probleme UserForm_QueryClose avec 2e userform
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 :
Code:
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 |
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.
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 :
Code:
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 |
quand je fais retour, le reviens sur mon panneau d'accueil via le code suivant
Code:
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 |
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)
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