Je voudrais vous poser une question concernant la fonction ontime.
J'ai besoin de déclencher le vendredi à 8h une procédure.
Pour cela j'ai donc ajouté dans le Workbook_Open :
Code:
If Weekday(Date, 2) = 5 Then Application.OnTime TimeValue("08:00:00"), "ProcVendredi"
"Procvendredi" étant dans un module avec la procédure.
Si je lance le fichier en mettant comme heure d'Horloge du pc vendredi 07:59 à 8h ma macro s'exécute sans soucis, mais cette dernière ne fonctionne qu'une fois car évidement je l'appel à l'ouverture du fichier Excel.
Le fichier Excel va resté ouvert 24/24 comment répéter cette opération ? car j'ai recopié mon appel de procédure dans Procvendredi mais elle ne se reproduit pas ?
Merci par avance pour vos conseils
Cordialement
Zephir94
Private Sub Workbook_Open()
On Error Resume Next
Application.OnTime TimeValue("08:00:00"), "ProcVendredi", , False 'annule l'ordre
Application.OnTime TimeValue("08:00:00"), "ProcVendredi"
End Sub
Code:
Sub ProcVendredi()
If Weekday(Date) = 6 Then
'suite du code
End If
End Sub
La procédure s'exécutera tous les jours à 8:00 mais le jour est testé.
Edit : il faut annuler l'ordre de lancement existant au cas où l'on ferme et rouvre le fichier.
Oui pardon job75 j'avais mal lu ton post, mais je rencontre hélas le même problème l'opération ne se déclenche qu'une seule fois.
J'ai modifié ma date et heure système au vendredi 7h59 à 8h pas de soucis elle se déclenche.
Sans quitter mon fichier je remet mon horloge système vendredi à 7h59, arrivé à 8h ma macro ne se déclenche pas.
Je dois rater quelque chose !
Pourrais tu m'expliquer à part dans le worlbook_open ou dois-je écrire pour que la condition se répéte
Un grand merci pour cette précision, en effet je voulais tester manuellement si le déclenchement était cyclique donc tu me confirme que tous les vendredi à 8h ma macro se déclenchera en laissant le fichier ouvert 24/24 ?
je te remercie infiniment
Ah, j'étais persuadé qu'une fois exécuté l'évènement se désactivait et qu'il fallait le réarmé.
Le seul exemple de l'aide concerne un événement date+heure qui n'éclaire pas du tout ce point puisqu'ils réarment.
Je veux bien prendre note mais du coup j'ai fait une recherche et suis tombé sur ceci : Ce lien n'existe plus
(bon, lien censuré... Bref, exactement le même cas et elle ne se lançait qu'une fois)
Donc j'espère que zéphyr nous apportera la réponse exacte avec ses test
eric
edit : Ce lien n'existe plus (premier / remplacé par \)
zephir94
Pourquoi ne pas simplement utiliser le planificateur de tâche Windows en créant une tache: ?
• Tous les vendredi à 8h
• ouvrir le classeur (en mettant la procédure à exécuter dans le Worbook_Open)
Au hasard (ou plutôt aux bons soins de Mister G. ) ,pour les détails sur le planificateur, voir ici .
NB:
j'utilise cette méthode au boulot (avec Excel et/ou des scripts VBS "autonomes"), et cela fonctionne très bien.
Ce fichier sert de synoptique d'aptitude à la conduite et doit être ouvert 24/24 et effectue un décompte journalier de jours restants avant une revalidation.
C'est pour cela que je m’intéresse à la fonction Ontime mais ce que je veux c'est que cette condition soit cyclique soit un jour donné de la semaine et le même bien sur ! car j'envoi un mail en automatique ce jour là aux conducteurs étant arrivé à 90 jours d'expiration