Confirmation fermeture Userform (croix rouge)

Bonjour !

après avoir cherché une solution à ce problème, je vous la propose ici, pour que vous évitiez de tourner en rond trop longtemps !

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    If MsgBox("Voulez-vous vraiement quitter ?", vbYesNo + vbQuestion, "Quitter ?") = vbNo Then
        Cancel = True
    End If
End Su

Cette fonction est appelée automatiquement lors d'un clic sur la croix rouge !

Elle demande confirmation de fermeture à l'utilisateur, et ferme l'userform pour de bon si l'utilisateur répond "OUI", mais contourne la fermeture si il répond "NON".

Voilà, j'espère que ça vous servira, et c'est toujours sympa à rajouter dans vos projets (surtout pour 5 lignes de code !).

à bientôt,

Marc

Bonjour, Sympa peut être ; utile pas forcement compte tenu de la gène occasionnée ensuite :

Le problème de ce code c'est qu'il va gèner la réinitialisation du userform aprés une validation de données.

Les boutons qui valident les données se terminent souvent par : Unload Me et Userform show pour vider le Userform.

Mais ce code va se déclencher à ce moment là et l'utilisateur ne comprendra pas pourquoi on lui pose la question sur la fermeture alors qui souhaite juste

valider.

En effet, heureusement que tu me le dis !

Merci !

J'ai donc rajouté un test avec un bool pour reconnaître si on est en fin de traitement (Unload) ou pas.

Merci :)

Rechercher des sujets similaires à "confirmation fermeture userform croix rouge"