Annuler l'ouverture d'une UserForm

Bonjour,

J'ai écrit un code permettant d'afficher plusieurs UserForm à la suite (dès que l'on valide, une seconde UserForm s'ouvre pour entrer d'autres valeurs).

J'aimerai cependant que si l'on sélectionne "Quitter", les autres UserForm qui suivent ne s'ouvre pas (actuellement, si je quitte une userform, elle se ferme mais la suivante s'ouvre, hors je souhaite qu'elle ne s'ouvre plus).

J'ai essayé de mettre UserForm3.Hide et Unload UserForm3 ça ne marche pas, comment faire ? La ligne de code doit apparaitre quelque part ici.

Private Sub CommandButton2_Click()

    If MsgBox("Confirmez vous la fin de la saisie ?", vbQuestion + vbYesNo, "Effectif") = vbYes Then

    Range("D11") = " "
    Range("D12") = " "
    Range("D13") = " "
    Range("D30") = " "

    Unload Me

    End If

End Sub

Merci d'avance !

L'extrait de code que tu montre ne permet pas d'empêcher l'ouverture d'autres UserForm. Pour ce faire il faudrait savoir pourquoi d'autres UserForm s'ouvrent et probablement modifier assez notablement la totalité du code de ce classeur. (en rajoutant des conditions, des clefs de contrôle ou des variables paramètres qui permettent au programme de se dérouler ) selon les conditions voulues.)

Pour reformuler la réponse, en l'absence de la totalité des macros du classeur il me semble improbable qu'on puisse solutionner ton problème.

A+

galopin01 a écrit :

L'extrait de code que tu montre ne permet pas d'empêcher l'ouverture d'autres UserForm. Pour ce faire il faudrait savoir pourquoi d'autres UserForm s'ouvrent et probablement modifier assez notablement la totalité du code de ce classeur. (en rajoutant des conditions, des clefs de contrôle ou des variables paramètres qui permettent au programme de se dérouler ) selon les conditions voulues.)

Pour reformuler la réponse, en l'absence de la totalité des macros du classeur il me semble improbable qu'on puisse solutionner ton problème.

A+

Je comprend de quelle partie vous parlez, c'est la suivante :

If N = 1 Then

        UserForm2.Show
        UserForm3.Show

    ElseIf N = 2 Then

        UserForm2.Show
        UserForm3.Show
        UserForm4.Show
        UserForm5.Show

    ElseIf N = 3 Then

        UserForm2.Show
        UserForm3.Show
        UserForm4.Show
        UserForm5.Show
        UserForm6.Show
        UserForm7.Show

     ElseIf N = 4 Then

        UserForm2.Show
        UserForm3.Show
        UserForm4.Show
        UserForm5.Show
        UserForm6.Show
        UserForm7.Show
        UserForm8.Show
        UserForm9.Show

    ElseIf N = 5 Then

        UserForm2.Show
        UserForm3.Show
        UserForm4.Show
        UserForm5.Show
        UserForm6.Show
        UserForm7.Show
        UserForm8.Show
        UserForm9.Show
        UserForm10.Show
        UserForm11.Show

    End If

Oui... Ce bout de macro dit qu'en fonction de la valeur de N un certains nombre de Userform doivent s'ouvrir successivement.

Pour ne prendre que la valeur N = 1 , ta macro ouvre successivement ces 2 UserForm

et pour la valeur 4 elle ouvre successivement les 10 UserForm...

C'est à toi de rajouter les conditions dans lesquelles tu voudraid que les UserForm soient ouverts ou pas...

Hum... Sans vouloir t'offenser, cette macro me parait à première vue un peux... "naïve" . Il est déjà très rare qu'on ouvre ensemble ou successivement 2 UserForm différents, Alors 10... Il doit y avoir quelques choses qui cloche dans ton raisonnement...

A+

Rechercher des sujets similaires à "annuler ouverture userform"