Bonjour,
Suis novice en VBA, je programme toujours (en j'essaie de m'en sortir) en XLA. J'ai toujours réussi à m'en sortir jusque là mais danc ce cas précis, je n'y arrive pas.
Je souhaiterais sauvegarder automatiquement mon fichier 5 secondes après l'entrée d'un temps mm:ss,00 dans une feuille.
Plus exactement je fais un bureau de calcul pour une spéciale chronomètrée. Donc un pc avec connexion internet serait au départ de la spéciale, un à l'arrivée et moi au PC pour récupérer les temps et les calculer. Ce fichier serait partagé mais pour que je puisse récolter les temps rapidement, il faut que le départ et l'arrivée sauvegarde le fichier sans quoi je ne vois pas les modifications.
Comme ils ont autre chose dans la tête et que ce sont parfois des novices, je souhaite enregistrer le fichier par l'intermédiaire d'une macro.
N'ayant rien trouvé en XLA qui me convenait, j'ai trouvé ce code VBA sur internet.
Dans thisworkbook
Dans un module
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Application.OnTime Now + TimeValue("00:00:05"), "EnregistrerFichier" End Sub
Ce code fonctionne exactement comme je voulais, c'est à dire dès qu'un temps est rentré sur la feuille de temps, 5 secondes après le fichier est enregistrer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Sub EnregistrerFichier() ActiveWorkbook.Save End Sub
MAIS il me semble que l'enregistrement dure fort longtemps (histoire de plusieurs secondes) alors que quand je clique simplement sur le bouton enregistrer, cela prend très peu de temps (à peine le temps de voir que ça enregistre) et au fur et à mesure qu'il y a des enregistrements, j'ai l'impression qu'ils prennent de plus en plus de temps !!!.
Pourriez-vous me dire si ce code est juste ?
Philou
Partager