Comment enregistrer et fermer un classeur après une période d'inactivité de durée définie ?
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
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
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
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 :
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.
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.
Meilleurs outils de productivité Office
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!