Accéder au contenu principal

Comment enregistrer et fermer un classeur après une période d'inactivité de durée définie ?

Author: Sun Last Modified: 2025-08-06

Parfois, vous pourriez accidentellement fermer un classeur lorsque vous êtes occupé avec d'autres tâches pendant longtemps, ce qui peut entraîner la perte de données importantes dans le classeur. Existe-t-il des astuces pour enregistrer et fermer automatiquement le classeur si vous ne l'avez pas utilisé pendant une certaine période ?

Enregistrer et fermer automatiquement un classeur après une période d'inactivité définie avec VBA


arrow blue right bubble Enregistrer et fermer automatiquement un classeur après une période d'inactivité définie avec VBA

Il n'y a pas de fonction intégrée dans Excel pour résoudre ce problème, mais je peux vous présenter un code macro qui peut vous aider à enregistrer et fermer le classeur après une période d'inactivité.

1. Activez le classeur que vous souhaitez enregistrer et fermer automatiquement après une période d'inactivité de plusieurs secondes, puis appuyez sur les touches Alt + F11 pour ouvrir la fenêtre Microsoft Visual Basic for Applications.

2. Cliquez sur Insérer > Module pour créer un script de module, puis collez le code ci-dessous dedans. Voir capture d'écran :

Dim CloseTime As Date
Sub TimeSetting()
    CloseTime = Now + TimeValue("00:00:15")
    On Error Resume Next
    Application.OnTime EarliestTime:=CloseTime, _
      Procedure:="SavedAndClose", Schedule:=True
End Sub
Sub TimeStop()
    On Error Resume Next
    Application.OnTime EarliestTime:=CloseTime, _
      Procedure:="SavedAndClose", Schedule:=False
 End Sub
Sub SavedAndClose()
    ActiveWorkbook.Close Savechanges:=True
End Sub

 

copy and paste vba code into code window

3. Ensuite, dans le volet Explorateur de projets, double-cliquez sur Ce Classeur et collez le code ci-dessous dans le script correspondant. Voir capture d'écran :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Call TimeStop
End Sub

Private Sub Workbook_Open()
    Call TimeSetting
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
   Call TimeStop
   Call TimeSetting
End Sub

 

copy and paste vba code into Thisworkbook window

4. Allez double-cliquer sur le module inséré à l'étape 2, puis appuyez sur F5 pour exécuter le code. Voir capture d'écran :
toggle to the normal code module and run the code

5. Ensuite, après 15 secondes, une boîte de dialogue apparaît pour vous rappeler d'enregistrer le classeur, puis cliquez sur Oui pour enregistrer et fermer le classeur.
a dialog popping out

Conseils :

(1) Dans le premier code, vous pouvez modifier la durée d'inactivité dans cette chaîne : Now + TimeValue("00:00:15")

(2) Si vous n'avez jamais enregistré le classeur auparavant, la Enregistrer sous boîte de dialogue apparaîtra en premier et vous demandera de l'enregistrer.
save as window comes out


Meilleurs outils de productivité Office

🤖 Kutools AI Aide : Révolutionnez l'analyse de données grâce à : Exécution intelligente   |  Générer du code  |  Créer des Formules personnalisées  |  Analyser des données et générer des graphiques  |  Appeler les Fonctions améliorées
Fonctionnalités populaires : Trouver, mettre en évidence ou marquer les doublons   |  Supprimer les lignes vides   |  Combiner les colonnes ou cellules sans perdre de données   |  Arrondir...
Super RECHERCHEV : Recherche multi-critères    Recherche multi-valeurs  |   Recherche multi-feuilles   |   Correspondance floue ....
Liste déroulante avancée : Créer rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante avec sélection multiple ....
Gestionnaire de colonnes : Ajouter un nombre spécifique de colonnes  |  Déplacer des colonnes  |  Basculer l’état de visibilité des colonnes masquées  |  Comparer les plages & colonnes ...
Fonctionnalités à la une : Mise au point de la grille   |  Affichage de conception   |   Barre de formule améliorée    Gestionnaire de classeur & de feuille de calcul   |  Bibliothèque dAutoTexte (Auto Text)   |  Sélecteur de date   |  Fusionner les données   |  Chiffrer/Déchiffrer les cellules    Envoyer un e-mail par liste   |  Super Filtre   |   Filtre spécial (filtrer les cellules avec une police en gras/italique/barré...) ...
Top15 des ensembles d’outils12 outils de texte (Ajouter du texte, Supprimer des caractères spécifiques, ...)   |   Plus de50 types de graphiques (Diagramme de Gantt, ...)   |   Plus de40 formules intelligentes (Calculer lâge en fonction de la date de naissance, ...)   |   19 outils dinsertion (Insérer un code QR, Insérer une image depuis le chemin, ...)   |  12 outils de conversion (Convertir en mots, Conversion de devises, ...)   |  7 outils de fusion & division (Fusion avancée des lignes, Diviser les cellules, ...)   |   ... et bien plus encore
Utilisez Kutools dans votre langue préférée: compatible avec l’anglais, l’espagnol, l’allemand, le français, le chinois et plus de40 autres langues !

Dynamisez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée. Kutools pour Excel propose plus de300 fonctionnalités avancées pour booster votre productivité et gagner du temps.  Cliquez ici pour obtenir la fonctionnalité la plus essentielle pour vous...


Office Tab apporte une interface à onglets à Office, et facilite grandement votre travail

  • Activez la modification et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, au lieu d’ouvrir de nouvelles fenêtres.
  • Augmentez votre productivité de50% et réduisez des centaines de clics de souris chaque jour!