Annuler Message de fermeture Fichier

Bon Tout le Monde

J'ai un Fichier qui comporte plusieurs Feuilles et une feuille " Menu"

Sur ma feuille "Menu" jai un bouton "Fermer Classeur" qui doit Fermer mon classeur

Je voudrais que la fermeture du Classeur Passe forcement par ce bouton et non pas par la x de excel comme d'habitude

j'ai ainsi fais:

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Application.DisplayAlerts = False

Application.ScreenUpdating = False

Sheets("Menu").select

Application.ScreenUpdating = True

Application.DisplayAlerts = true

End Sub

Mais cela ne marche pas j'ai toujours la boite de dialogue qui apparait quand on ferme par la x de excel

Comment procéder ?

Merci

Bonjour,

Que mentionne cette boîte de dialogue ?

ric

Salut KTM,

je vois pas pourquoi tu passe par une Sub Workbook_BeforeClose ??

mais bon à tester comme ca

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.DisplayAlerts = False 
Application.ScreenUpdating = False
Sheets("Menu").select
ThisWorkbook.Save
Application.ScreenUpdating = True
Application.DisplayAlerts = true
End Sub

Sinon avec une CommandButton1_Click() on peut directement fermer le fichier

Private Sub CommandButton1_Click()
    Application.Quit
    ThisWorkbook.Save
End Sub

Bonjour,

m3ellem1 : Je comprend bien que ça marche quand même parce que l'exécution est asynchrone...

Mais en bonne logique il me semble préférable d'écrire :

Private Sub CommandButton1_Click()
ThisWorkbook.Save
Application.Quit
End Sub

A+

Bonjour,

Dans un module standard, tu crées une Sub d'enregistrement/fermeture que tu appelles depuis les deux porcédures événementielles. La Sub :

Sub Fermer()

    ThisWorkbook.Save
    Application.Quit

End Sub

Les appels :

Private Sub CommandButton1_Click()

    Fermer

End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)

    Fermer

End Sub

Jai attentivement lu les diverses réponses et je suis satisfait

Merci a tous

Rechercher des sujets similaires à "annuler message fermeture fichier"