Problème fermeture de windows

Bonjour,

j'ai ce 1er code qui me permet grâce à un bouton d'effacer & ensuite de sortir de l'application :

Sub effaceFeuil()

    'Supprime la feuille "ExtractPkF" une fois traitement terminé
    Application.DisplayAlerts = False
    Sheets("ExtractPkF").Delete

    'Sort du classeur
    MsgBox "Fermeture du classeur sans sauvegarder..."
    ActiveWorkbook.Close False

End Sub

j'ai ce 2ème code qui lui me permet de ne pas sortir pas le biais de la petite croix de Windows :

'N'autorise pas la fermeture de windows
'par la petite croix en haut à droite
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim AutoriseFermeture As Boolean

    If Not AutoriseFermeture Then Cancel = True

End Sub

Mon soucis c'est que par le bouton maintenant il ne me permet plus de sortir du tout de l'application. Il y a une contradiction avec le 1er et 2ème code. Mais je voudrais que cela fonctionne réellement comme ça.

Comment réaliser cette manip ?

Bonjour,

Désactivez les autres évènements à l'aide de la méthode Application.EnableEvents dans votre première macro afin qu'elle ne déclenche pas la procédure événementielle :

Sub effaceFeuil()
    'Supprime la feuille "ExtractPkF" une fois traitement terminé
    Application.DisplayAlerts = False
    Application.EnableEvents = False
    Sheets("ExtractPkF").Delete
    'Sort du classeur
    MsgBox "Fermeture du classeur sans sauvegarder..."
    ActiveWorkbook.Close False
    Application.EnableEvents = True
End Sub

Au passage petite approximation de votre part, c'est le classeur qui est fermé ici par l'application. Pour l'application on utilise, je crois, la méthode Application.Quit qui ferme tous les classeurs ouverts ET l'application EXCEL.

Cdlt,

Merci

cela ne fct toujours pas, j'ai essayé ça aussi :

Sub effaceFeuil()

    'Supprime la feuille "ExtractPkF" une fois traitement terminé
    Application.DisplayAlerts = False
    Sheets("ExtractPkF").Delete

    'Sort du classeur
    MsgBox "Fermeture du classeur sans sauvegarder..."
    'ActiveWorkbook.Close False

    Application.Quit

End Sub

ne fct pas non plus ? pourtant Application.Quit permet bien de sortir d'Excel....

Bonjour,

"Ca ne fonctionne pas" n'est pas une réponse valide. En revanche la description de qu'est ce qui ne fonctionne pas l'est.

Chez moi ça fonctionne très bien : sur le classeur joint avec le code donné, je ne peux fermer le classeur actif avec la croix rouge. Cependant en activant la procédure effaceFeuil(), la feuille ExtractPkF est bien supprimée et le classeur fermé. Donc je ne comprend pas le "Ca ne fonctionne pas". Désolé.

Dans l'attente de votre retour.

Cdlt,

17classeur6.xlsm (15.16 Ko)
Rechercher des sujets similaires à "probleme fermeture windows"