Fermer Fichier

Bonjour Forum

j'utilise le code ci dessous pour fermer mon fichier.

Mais j'aimerais pouvoir quitter excel si aucun autre classeur n'est ouvert

Merci

Application.DisplayAlerts = False
ThisWorkbook.Close
Application.DisplayAlerts = True

Bonjour KTM, bonjour le forum,

Le problème est le classeur des macros personnelles qui peut être ouvert mais masqué. Essaie comme ça (à placer dans le composant VBA ThisWorkbook :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim TEST As Boolean 'déclare la variable TEST

For I = 1 To Workbooks.Count 'boucle sur tous les classeurs ouverts
    If Workbooks(I).Name <> ThisWorkbook.Name Then 'condition : si le nom du classeur de la boucle n'est pas le nom de ce classeur
        Select Case Right(Workbooks(I).Name, 3) 'agit en fonction des 3 dernières lettres du nom du classeur (de l'extension)
            Case "xls", "lsx", "lsm", "ltx", "ltm" 'cas
                'test est vrai (il existe un autre classeur autre que le classeur des macros personnelles), sort de la boucle
                TEST = True: Exit For
        End Select 'fin de l'action en fonction des 3 dernières lettres du nom du classeur (de l'extension)
    End If 'fin de la condition
Next I 'prochain classeur de la boucle
If TEST = False Then Application.Quit 'si test est [faux] quitte l'application Excel
End Sub
Rechercher des sujets similaires à "fermer fichier"