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+