Automatiser une procedure

Clark

XLDnaute Junior
Bonjour au forum,

voici mon problème;
Je souhaiterai que mon classeur s'enregistre toutes les heures (copie de sauvegarde) et pour cela, je cherche un moyen de lancer ma procedure de sauvegarde toutes les heures à partir de l'ouverture du fichier.

J'ai bien essayé avec OnTime mais apparemment, il ne lance la procédure qu'une seule fois.

Existe-t'il une fonction permettant cela?

Merci pour votre attention.
Clark ;)
 

tototiti2008

XLDnaute Barbatruc
Re : Automatiser une procedure

Bonjour Clark,

Je ne connais que OnTime pour ce type de lancement différé.
tu peux le faire toutes les heures si à la fin de chaque procédure lancée par le Ontime, tu programmes le prochain enregistrement 1h plus tard.
ça posera cependant un problème après la fermeture du fichier...
 

tototiti2008

XLDnaute Barbatruc
Re : Automatiser une procedure

eh oui...
alors, je te propose de stocker l'heure de la dernière planification d'enregistrement dans une variable publique, puis à la fermeture du fichier tu refait un Ontime avec l'argument Schedule:=False à l'heure prévue par ta variable.

Je ne sais pas si j'ai été clair, là ?
 

Clark

XLDnaute Junior
Re : Automatiser une procedure

Si,si très clair.
J'ai essayé de faire un ontime avec schedule à false dans le beforeclose mais cela ne marchait pas. Mais justement comme tu dit, il doit falloir lui passer la date de lancement précis de la procédure et moi je lui recollais le Now + timevalue(...)

J'essaye cela dès que possible et te tiens au courant.

Merci pour ton aide

Clark :)
 

Clark

XLDnaute Junior
Re : Automatiser une procedure

Rebonjour le forum,

Tototiti, j'essaye ta solution mais comme d'habitude, je ne sais jamais où il faut mettre les variables pour qu'elles soient accessibles en tout point.

J'ai une procédure de sauvegarde dans laquelle je fais un SaveCopyAs et dans laquelle j'augmente ma variable pour dire de refaire une sauvegarde x temps. Cette procédure est dans un module1

Ensuite, j'ai l'appel de OnTime avec Schedule à false dans le BeforeClose du Workbook.

J'ai essayé de mettre "public TimeToSave as String dans la section déclarations du Workbook.
Ce TimeToSave est mis à jour dans ma procédure et utilisée pour le prochaine appel OnTime.

Et ce TimeToSave est également utilisée comme variable EarliestTime du OnTime dans le beforeClose mais là, la variable est vide. Elle n'a pas conservée sa dernière valeur prise dans la procédure.

Pourrais-tu me dire comme déclarer cette variable et où la placer?

Clark :)
 

Discussions similaires

Statistiques des forums

Discussions
312 302
Messages
2 087 039
Membres
103 439
dernier inscrit
julienpipiou