RE Bonjour Léa, MrExcel, Bonjour CutBill, Dan, le Forum
Attention MrExcel
La meiileure méthode c'est d'utiliser Me.Close
Non,
Me.Close n'est pas applicable pour un UserForm, la méthode pour définitivement décharger de la mémoire un UserForm est :
Unload Me (ou encore Unload UserFormX)
Pour ce qui est du reste, je suis d'accord, on peut passer par une simple Boolean Public qui sera utilisée pour paramétrer le Cancel de la Private Sub Workbook_BeforeClose (
Cancel As Boolean), mais on peut être bien plus Direct aussi :
Public MaBooleanClosing As Boolean '(En Top d'un Module Standard)
Par Exemple si tu veux fermer... Alors tu paramètres dans ton Bouton d'USF :
MaBooleanClosing =
False
Par Exemple tu ne veux pas fermer alors tu paramètres dans ton Bouton d'USF :
MaBooleanClosing =
True
Et Donc dans ton Private Module de ThisWorkBook :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ActiveWorkbook.Save
UserForm5.Show
Cancel = MaBooleanClosing
End Sub
C'est pas plus compliqué...
Pour ce qui est de l'exemple donné par mon compatriote et ami Dan et oui... pas de déclaration de Variable, et il sait que je veille au grain aussi pour les déclarations de Variable dans ce Forum, mais en fait on ne peut pas lui en vouloir car c'est exactement ce que donne l'aide VBA pour une MsgBox !!! lol donc...
Bon Aprèm
@+Thierry