Cette fois, je vous propose une procédure VBA qui nous permet de fermer un classeur Excel après une période d’inactivité donnée.
Tant que l’usager est actif, le classeur reste ouvert. Lorsque celui-ci est inactif, en revanche, le classeur se ferme.
Voici le fonctionnement :
Dans la feuille:
Dans un module:
Il est possible de personnaliser votre procédure VBA en ajustant la période d’inactivité souhaitée et/ou en ajoutant une boite de dialogue.
Dans cet exemple, la période d’inactivité est considérée dans une seule page. Vous pouvez la dupliquer dans d’autres onglets en copiant la procédure de la page.
Bonjour,
Je n’arrive pas a refaire cette procédure qui me serait très utile.
En effet, travaillant à plusieurs sur 1 seul et même fichier excel à intervalle espacé et n’étant pas au même endroit géographique, il serait agréable que le fichier se sauvegarde et se ferme suite à un oublie de fermeture avant de partir.
Pouvez-vous revenir vers moi svp.
Merci beaucoup
Cordialement
Bonjour M. Lemaitre,
En VBA, l’emplacement des procédures est importantes. Il faut donc absolument que la première (Worksheet_Change) se trouve à l’intérieur de la feuille Excel (Si plusieurs feuilles se trouvent dans le fichier, ce code doit être présent dans chacune d’entres-elles). De même, la deuxième procédure doit absolument être située à l’intérieur d’un module.
Autre point à noter, dans cet exemple, la procédure sauvegardant et fermant le fichier est uniquement exécutée si un changement a été fait dans une cellule et que 50 minutes se sont écoulées. Si vous désirer que la fermeture se fassent même sans changement, je recommande d’utiliser l’événement Worksheet_SelectionChange à la place de Worksheet_Change.
Il ne vous reste plus qu’à personnaliser le code présenter ici selon vos besoins.
Cordialement