USF en cascade avec un mot de passe

Bonsoir le forum,

J'ai un USF n°1 qui apparait à l'ouverture du fichier excel. L'USF n°1 comporte des commandbuttons qui sont protégés par un mot de passe via un USF n°2. Lorsque le mot de passe est valide, il exécute la commande. Mais lorsque le mot de passe est incorrecte ou lorsque l'on clique sur annuler, l'USF N°2 et n°1 se ferme.

Je ne vois pas comment faire pour que lorsqu'on clique sur annuler de l'USF n°2, l'USF n°1 reste ouvert et quand le mot de passe est invalide l'usf N°2 reste ouvert.

Voici le code d'un des boutons de l'usf n°1

 
Private Sub CommandButton3_Click()
UserForm2.Show
Worksheets("stocks").Select
UserForm1.Hide
End Sub

et le code de l'usf n°2

Private Sub CommandButton2_Click()
  TextBox1 = ""
  UserForm2.Hide
End Sub

Private Sub CommandButton1_Click()
  If TextBox1.Text = "TITI" Then
   Else: MsgBox ("Le mot de passe est invalide.")
  End If
  TextBox1 = ""
  UserForm2.Hide
End Sub

Merci d'avance.

Bonjour

A tester

Pour L'Usf 1

Private Sub CommandButton3_Click()
  UserForm2.Show
  Worksheets("stocks").Select
  'UserForm1.Hide
End Sub

Pour l'Usf 2

Private Sub CommandButton2_Click()
  TextBox1 = ""
  UserForm2.Hide
End Sub

Private Sub CommandButton1_Click()
  If TextBox1.Text = "TITI" Then
    TextBox1 = ""
    UserForm2.Hide
   Else
    MsgBox ("Le mot de passe est invalide.")
  End If
End Sub

J'avais oublié de signaler qu'il faut que l'USF n°1 se ferme lorsque le mot de passe est valide.

Bonjour

Il faut ouvrir l'Usf1 en mode non modal (voir l'aide sur Show )

exemple

  UserForm1.Show vbModeless

Code de Usf1

Private Sub CommandButton3_Click()
  UserForm2.Show vbModeless
  Worksheets("stocks").Select
  'UserForm1.Hide
End Sub

Code de l'Usf2

Private Sub CommandButton2_Click()
  TextBox1 = ""
  UserForm2.Hide
End Sub

Private Sub CommandButton1_Click()
  If TextBox1.Text = "TITI" Then
    Unload UserForm1
    TextBox1 = ""
    UserForm2.Hide
    Unload UserForm1
   Else
    MsgBox ("Le mot de passe est invalide.")
  End If
End Sub

Bonjour Banzaî64,

En insérant le VbModeless dans l'usf1, il y a un message d'erreur "impossible d'afficher une feuille non modale lorsqu'une feuille modale est affichée". Du coup, j'ai supprimé le VbModeless et le souci est partiellement résolu car l'usf 2 reste afficher si le mot de passe est invalide.

Il reste encore à trouver une solution pour fermer l'usf 2 si tu clique sur annuler et pour que l'usf 1 reste ouvert.

Je continue mes recherches.

Merci à toi.

Bonjour

As tu bien respecté cette condition d'ouverture de l'USF1 en vbModeless

Si je teste chez moi cela fonctionne

Places ton fichier sur le forum

Voilà, j'ai mis le fichier sur le forum.

Bonjour

A tester

Impec comme d'hab.

Merci.

Rechercher des sujets similaires à "usf cascade mot passe"