Enregistrez automatiquement un fichier Excel lors de sa fermeture 
Par Mathieu |
mardi 30 octobre 2007 à 12:08 | Astuces
| permalien
|
- 0 vote(s)
J'ai dû trouver un moyen, pour mon travail, d'enregistrer les modifications apportées à un fichier Excel avant que celui ci ne soit fermé automatiquement par un script.
J'ai cherché sur Internet et suis tombé sur un post d'un forum me donnant la solution (désolé je n'ai plus la source).
En utilisant une macro VBA (Visual Basic for Applications), on peut automatiser l'enregistrement des modifications.
Pour ce faire, lorsque vous êtes sur votre fichier Excel, allez dans Outils > Macros > Visual Basic Editor (jusqu'à la version 2003 d'Excel).
une nouvelle fenêtre s'ouvre nommée "Microsoft Visual basic".
Double cliquez sur "ThisWorkbook" sur la gauche dans la partie nommée théoriquement "Projet - VBA Project".
Dans la nouvelle fenêtre qui s'ouvre, saisissez ceci :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.DisplayAlerts = False
ActiveWorkbook.Save
End Sub
"ThisWorkbook" signifie "Classeur".
"BeforeClose" signifie "Avant la fermeture".
Ce code correspond à une fonction qui s'appliquera donc à votre classeur (c'est-à-dire l'ensemble de vos feuilles), lors de sa fermeture.
La première ligne de la fonction "Application.DisplayAlerts = False" permet de ne pas afficher d'alertes telles que "Voulez vous enregistrer les modifications apportées à ...".
La seconde ligne de la fonction "ActiveWorkbook.Save" sauvegarde votre classeur.
Puis la fonction se termine.
Fermez la fenêtre "Microsoft Visual Basic".
Modifiez votre document.
Fermez Excel.
On ne devrait plus vous demander si vous voulez enregistrer.
Ouvrez à nouveau votre document : les modifications ont été enregistré.
Nota bene : La méthode "Application.DisplayAlerts" réglée à "False" empêche sûrmeent d'autres alertes de s'afficher, mais je ne saurais vous dire lesquelles.






Trackbacks
Aucun commentaire pour le moment.
Ajouter un commentaire