Application Ontime. Pb pour le lancement de la macro et répétition.

jimmycamelon

XLDnaute Nouveau
Bonjour tout le monde. J'ai cherché sur le site mais j'ai pas réussi.
Mon problème.

En fait je voudrais : laisser mon ordi allumé avec mon fichier excel ouvert.
Que la Macro "course1" se lance tous les jours à 9h, qu'elle se relance toutes les 15min et qu'à 21h30 le process s'arrete pour reprendre le lendemain à 9h00.


Ci dessous mon code mais rien ne se lance.

Sub Rafraichissement()

'Definit le départ de la macro
Application.OnTime TimeValue("09:00:00"), "Rafraichissement"

' Définit l'intervalle avec l'heure actuelle + trente minutes
DansTrenteMinutes = TimeSerial(Hour(Time), Minute(Time) + 15, Second(Time))

If DansTrenteMinutes < "21:15:00" Then
' Appel récursif de la fonction Rafraichissement
Application.OnTime DansTrenteMinutes, "Rafraichissement"

' Appel de la fonction courseR1
Call course1
End If
End Sub



j'ai nommé une cellule sur ma feuille excel "DansTrenteMinutes". Bref c'est juste comme si j'avais un timer sur ma feuille. "=maintenant".
Par contre je ne sais pas si elle est nécessaire.

Merci pour votre réponse.
 

jimmycamelon

XLDnaute Nouveau
Re : Application Ontime. Pb pour le lancement de la macro et répétition.

Voilà j'ai trouvé le code qui repond à ma question :

"laisser mon ordi allumé avec mon fichier excel ouvert.
Que la Macro "course1" se lance tous les jours à 9h, qu'elle se relance toutes les 30min et qu'à 23h40 le process s'arrete pour reprendre le lendemain à 9h00."


Sub Rafraichissement()


' Définit l'intervalle avec l'heure actuelle + trente minutes
DansTrenteMinutes = TimeSerial(Hour(Time), Minute(Time) + 30, Second(Time))

If DansTrenteMinutes < "23:40:00" Then
' Appel récursif de la fonction Rafraichissement
Application.OnTime DansTrenteMinutes, "Rafraichissement"

Call course

Else
If DansTrenteMinutes > "23:40:00" Then

Application.OnTime Date + 1 + DansTrenteMinutes, "Rafraichissement"
' Appel de la fonction course

End If
End If

End Sub


Dans Thisworkbook j'ai mis le code ci dessous.

Private Sub Workbook_Open()
Application.OnTime TimeValue("09:00:00"), "Rafraichissement"
End Sub


Le problème c'est que si : En ouvrant ma macro un matin apres 09h00, celle-ci ne se lancera que le lendemain. Du coup je voudrais mettre une variable à la place de l'heure.
Style : Application.OnTime TimeValue("heuredelancement"), "Rafraichissement"
Et que heuredelancement soit une cellule nommé sur ma feuille excel que je peux modifier.

merci pour votre aide et j'espere que mon code pourra vous aider. ;)
 

Statistiques des forums

Discussions
311 708
Messages
2 081 750
Membres
101 812
dernier inscrit
trufu