Dans les projets, une situation survient souvent lorsqu’une confirmation de l’utilisateur est requise avant de fermer un formulaire. Cet effet peut être évité en utilisant la procédure de gestion des événements QueryClose, qui est générée juste avant la fermeture de la fenêtre. Cette procédure a deux paramètres. Si le premier prend la valeur –1, alors la fermeture n’a pas lieu, mais s’il prend la valeur 0, la fenêtre est fermée. Le deuxième paramètre identifie la raison qui a provoqué la fermeture de la fenêtre. Par exemple, dans le code suivant lorsque vous fermez la fenêtre utilisateur, une boîte de dialogue apparaît avec deux boutons : Oui et Non, qui nécessite une confirmation de l’utilisateur. S’il clique sur Oui, la fenêtre est fermée, et si Non, elle ne se ferme pas.
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) Select Case MsgBox("Fermer une fenêtre?", vbYesNo + vbQuestion) Case vbYes : Cancel = 0 Case vbNo : Cancel = -1 End Select End Sub