Notions à retenir
- Cette technique utilise VBA pour créer une macro qui ferme automatiquement un fichier Excel après un délai défini
- Le fichier doit être sauvegardé au format .xlsm pour que les macros fonctionnent
- La procédure évènementielle se déclenche automatiquement à l’ouverture du fichier
Cette technique permet de programmer la fermeture automatique d’un fichier Excel après un temps déterminé grâce à VBA. Le processus nécessite la création de deux éléments : une macro de fermeture et un déclencheur temporisé.
Étape 1 : Création de la macro de fermeture
Ouvrez l’éditeur Visual Basic avec ALT + F11. Dans la fenêtre de gauche, double-cliquez sur Module 1. Si aucun module n’existe, créez-en un via le menu Insertion. Dans la feuille qui s’ouvre, saisissez ce code :
Sub arret() ActiveWorkbook.Close True End Sub
Cette macro ferme le classeur actif sans demander de confirmation de sauvegarde.
Étape 2 : Configuration du déclencheur temporisé
Double-cliquez sur « ThisWorkbook » dans l’explorateur de projet. Dans la fenêtre de droite, intégrez le code suivant :
Private Sub Workbook_Open()
temp = Now + TimeValue("00:00:10")
Application.OnTime temp, "arret"
End Sub
Ce code programme l’exécution de la macro « arret » 10 secondes après l’ouverture du fichier. La fonction TimeValue permet de définir le délai au format heures:minutes:secondes.
Sauvegarde et activation
Enregistrez impérativement le fichier au format .xlsm (Excel avec macros). Sans cette extension, les macros ne s’exécuteront pas. Une fois fermé et rouvert, le fichier se fermera automatiquement après le délai programmé.
Cette méthode peut servir à éviter que des fichiers restent ouverts trop longtemps sur un poste de travail. Pour une utilisation professionnelle, ajoutez une commande de sauvegarde dans la macro « arret » avant la fermeture.