Enregistrement automatique sans redémarrer le fichier
Résolu/FerméDmut - 27 juin 2023 à 14:44
- Enregistrement automatique sans redémarrer le fichier
- Fichier rar - Guide
- Fichier host - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier iso - Guide
6 réponses
17 juin 2023 à 22:02
Bonsoir,
Peut-être rajouter une macro dans le module :
Sub TimeStop () Application.OntimeNow + TimeValue ( "00:10:00"), _ Procedure:="Enregistrement", Schedule:=False End Sub
Puis dans this Worbook :
Workbook_BeforeClose(Cancel As Boolean) Call TimeStop End Sub
Ou en tout cas quelque chose s'en rapprochant, qui mette fin à la procédure d'enregistrement automatique avant de fermer le classeur. (/!\ Je n'ai pas testé)
18 juin 2023 à 12:42
bonjour, je pense qu'il est nécessaire, dans timestop, de préciser exactement le moment qui a été précisé dans le dernier appel à ontimenow.
18 juin 2023 à 16:22
Bonjour chers amis, merci pour vos interventions.
Cher aquarelle, j'ai testé ta solution mais pas de changement, le fichier redémarre tjrs après 10 minutes.
Cher yg_be, merci pour votre proposition, si vous pouvez la traduire dans un code.
Merci j'attends la suite
18 juin 2023 à 18:02
En embrayant sur la suggestion de aquarelle, voici:
Option Explicit Private Sub Workbook_Open() mom_appel = Now() + TimeValue("00:1:00") Application.OnTime mom_appel, "Enregistrement" End Sub Private Sub Workbook_BeforeClose(Cancel As Boolean) Call TimeStop End Sub
Option Explicit Global mom_appel As Date Sub Enregistrement() Application.DisplayAlerts = False DoEvents ActiveWorkbook.Save mom_appel = Now() + TimeValue("00:1:00") Application.OnTime mom_appel, "Enregistrement" End Sub Sub TimeStop() If mom_appel Then Application.OnTime mom_appel, Procedure:="Enregistrement", Schedule:=False End If End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question21 juin 2023 à 11:04
Bonjour yg_be,
Je te remercie pour ta solution, elle devrait en principe marcher, avec mon fichier ça ne marche pas, il s'agit de la fonction Option Explicit qui donne des messages d'erreurs.
Si vous avez une autre solution ou quelqu'un d'autre aurait une autre solution pour la sauvegarde automatique du fichier XLSM après chaque x time, merci.
21 juin 2023 à 12:56
Montre ce que tu as mis dans le code du module et dans le code du classeur.
Montre aussi le message d'erreur exact.
cher yg_be,
Je m'excuse beaucoup pour avoir pris du temps. Cela est dû aux conditions dans lesquelles je travaille. Je voudrais dire que le code marche maintenant très bien. Je parviens maintenant à obtenir un Enregistrement automatique sans redémarrage du fichier. Dans ThisWorkbook, procédure beforeclose, j'ai déplacé la ligne de commande portant l'instruction: Call TimeStop vers le haut càd avant les autres commandes que j'avais mises servant à rétablir le masquage du ruban avant la fermeture. Cependant j'aimerais savoir l'importance de s commandes:
Option explicit et
Global mon appel As Date
Merci infiniment
27 juin 2023 à 14:06
"Option explicit" sert à forcer la déclaration des variables. Cela permet de détecter plus facilement des erreurs dans les noms de variables. C'est donc utile, pas indispensable.
"Global mon appel As Date" , au début du module, permet d'utiliser la même variable mon_appel partout dans le projet. C'est donc indispensable dans l'exemple.