Procédure OnTime récalcitrante

Le
Jean-Paul GIORGETTI
Salut à tous,

Je désire faire une procédure qui s'exécuterait toutes les heures (à l'heure
pile) à partir de l'heure suivant l'ouverture du fichier.

J'ai donc créé un petit bout de code pour tester mais voilà que ma procèdure
s'exécute plusieurs fois de suite (2, 3, 4 fois), je ne comprends pas
pourquoi, j'ai essayé d'y coller une instruction "Wait", mais cela n'a rien
changé.
Je vous transmet ce que j'ai écrit, je suis preneur de toutes propositions
et explications.

Merci d'avance,

Jean-Paul


Sub AtHour()
Heure = Hour(Now) + 1
Heure = TimeValue(Str(Heure Mod 24) & ":00:00")
Application.OnTime Heure, "message"
End Sub



Sub message()
MsgBox "test"
'Application.Wait (Now + TimeValue("0:00:10"))
AtHour
End Sub
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Corto
Le #5460771
Bonjour Jean-Paul GIORGETTI,
La fonction OnTime demande un timestamp complet (Date + heure)
Sub AtHour()
Application.OnTime Now + TimeValue("00:10:00"), "message"
End Sub

Sub message()
ActiveCell = Now
ActiveCell.Offset(1, 0).Activate
AtHour
End Sub

Corto

Salut à tous,

Je désire faire une procédure qui s'exécuterait toutes les heures (à l'heure
pile) à partir de l'heure suivant l'ouverture du fichier.

J'ai donc créé un petit bout de code pour tester mais voilà que m a procèdure
s'exécute plusieurs fois de suite (2, 3, 4 fois), je ne comprends pas
pourquoi, j'ai essayé d'y coller une instruction "Wait", mais cela n' a rien
changé.
Je vous transmet ce que j'ai écrit, je suis preneur de toutes proposi tions
et explications.

Merci d'avance,

Jean-Paul


Sub AtHour()
Heure = Hour(Now) + 1
Heure = TimeValue(Str(Heure Mod 24) & ":00:00")
Application.OnTime Heure, "message"
End Sub



Sub message()
MsgBox "test"
'Application.Wait (Now + TimeValue("0:00:10"))
AtHour
End Sub






ponsinet.frederic363
Le #5460441
Il faudrait tout à fait en premier lieu de corriger la date interne de ton
PC

--



Sans les bérouettes
"Jean-Paul GIORGETTI" de news:
Salut à tous,

Je désire faire une procédure qui s'exécuterait toutes les heures (à
l'heure
pile) à partir de l'heure suivant l'ouverture du fichier.

J'ai donc créé un petit bout de code pour tester mais voilà que ma
procèdure
s'exécute plusieurs fois de suite (2, 3, 4 fois), je ne comprends pas
pourquoi, j'ai essayé d'y coller une instruction "Wait", mais cela n'a
rien
changé.
Je vous transmet ce que j'ai écrit, je suis preneur de toutes propositions
et explications.

Merci d'avance,

Jean-Paul


Sub AtHour()
Heure = Hour(Now) + 1
Heure = TimeValue(Str(Heure Mod 24) & ":00:00")
Application.OnTime Heure, "message"
End Sub



Sub message()
MsgBox "test"
'Application.Wait (Now + TimeValue("0:00:10"))
AtHour
End Sub





JB
Le #5460411
Bonsoir,

Dim temps
Sub majHeure()
Sheets("feuil1").[A1]=Now
temps = Now + TimeValue("00:00:1")
Application.OnTime temps, "majHeure"
End Sub

Sub auto_open()
majHeure
End Sub

Sub auto_close()
On Error Resume Next
Application.OnTime temps, Procedure:="majHeure", Schedule:úlse
End Sub

http://boisgontierjacques.free.fr/fichiers/OnTimeHeure.xls

JB
http://boisgontierjacques.free.fr/



On 18 avr, 11:43, Corto
Bonjour Jean-Paul GIORGETTI,
La fonction OnTime demande un timestamp complet (Date + heure)
Sub AtHour()
    Application.OnTime Now + TimeValue("00:10:00"), "message"
End Sub

Sub message()
    ActiveCell = Now
    ActiveCell.Offset(1, 0).Activate
    AtHour
End Sub

Corto




Salut à tous,

Je désire faire une procédure qui s'exécuterait toutes les heures (à l'heure
pile) à partir de l'heure suivant l'ouverture du fichier.

J'ai donc créé un petit bout de code pour tester mais voilà que ma procèdure
s'exécute plusieurs fois de suite (2, 3, 4 fois), je ne comprends pas
pourquoi, j'ai essayé d'y coller une instruction "Wait", mais cela n'a rien
changé.
Je vous transmet ce que j'ai écrit, je suis preneur de toutes proposit ions
et explications.

Merci d'avance,

Jean-Paul

Sub AtHour()
Heure = Hour(Now) + 1
Heure = TimeValue(Str(Heure Mod 24) & ":00:00")
Application.OnTime Heure, "message"
End Sub

Sub message()
MsgBox "test"
'Application.Wait (Now + TimeValue("0:00:10"))
AtHour
End Sub- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



Mishell
Le #5460221
'Dans un module
Global heure

Sub test()
AtHour
End Sub

Sub AtHour()

heure = DateSerial(Year(Now + 1 / 24), Month(Now + 1 / 24), Day(Now + 1 /
24)) & " " & TimeSerial(Hour(Now + 1 / 24), 0, 0)

Application.OnTime heure, "message"
End Sub


Sub message()
AtHour
MsgBox Time

End Sub


Sub arretTimer()
On Error Resume Next
If heure <> "" Then
'Annuler le paramétrage du OnTime programmé précédemment.
Application.OnTime EarliestTime:=heure, _
Procedure:="AtHour", Schedule:úlse

End If


End Sub

'Code à mettre dans ThisWorkBook

Private Sub Workbook_BeforeClose(Cancel As Boolean)
arretTimer
End Sub

Private Sub Workbook_Open()
test
End Sub


"Jean-Paul GIORGETTI" news:
Salut à tous,

Je désire faire une procédure qui s'exécuterait toutes les heures (à
l'heure
pile) à partir de l'heure suivant l'ouverture du fichier.

J'ai donc créé un petit bout de code pour tester mais voilà que ma
procèdure
s'exécute plusieurs fois de suite (2, 3, 4 fois), je ne comprends pas
pourquoi, j'ai essayé d'y coller une instruction "Wait", mais cela n'a
rien
changé.
Je vous transmet ce que j'ai écrit, je suis preneur de toutes propositions
et explications.

Merci d'avance,

Jean-Paul


Sub AtHour()
Heure = Hour(Now) + 1
Heure = TimeValue(Str(Heure Mod 24) & ":00:00")
Application.OnTime Heure, "message"
End Sub



Sub message()
MsgBox "test"
'Application.Wait (Now + TimeValue("0:00:10"))
AtHour
End Sub





Jean-Paul GIORGETTI
Le #5460191
Bonjour,

Tout à fait, sans doute une mauvaise manip lors de mes essais en modifiant
l'heure système.

Désolé.

Jean-Paul

"ponsinet.frederic363" message de news:
Il faudrait tout à fait en premier lieu de corriger la date interne de ton
PC

--



Sans les bérouettes
"Jean-Paul GIORGETTI" message

de news:
Salut à tous,

Je désire faire une procédure qui s'exécuterait toutes les heures (à
l'heure
pile) à partir de l'heure suivant l'ouverture du fichier.

J'ai donc créé un petit bout de code pour tester mais voilà que ma
procèdure
s'exécute plusieurs fois de suite (2, 3, 4 fois), je ne comprends pas
pourquoi, j'ai essayé d'y coller une instruction "Wait", mais cela n'a
rien
changé.
Je vous transmet ce que j'ai écrit, je suis preneur de toutes
propositions


et explications.

Merci d'avance,

Jean-Paul


Sub AtHour()
Heure = Hour(Now) + 1
Heure = TimeValue(Str(Heure Mod 24) & ":00:00")
Application.OnTime Heure, "message"
End Sub



Sub message()
MsgBox "test"
'Application.Wait (Now + TimeValue("0:00:10"))
AtHour
End Sub









Jean-Paul GIORGETTI
Le #5460181
Bonjour JB,

Merci pour la proposition que je n'ai pas encore testé, mais je voulais
profiter de ce Post pour te féliciter pour ton site.

En effet, celui-ci est une mine d'or et on prend la mesure de ta maîtrise de
ce merveilleux logiciel qu'est Excel.

Sans parler de la sobriété et de la vitesse de navigation de celui-ci dont
beaucoup de site pourrait (devrait)s'inspirer.

Avec mes respects,

Cordialement,

Jean-Paul

"JB"
Bonsoir,

Dim temps
Sub majHeure()
Sheets("feuil1").[A1]=Now
temps = Now + TimeValue("00:00:1")
Application.OnTime temps, "majHeure"
End Sub

Sub auto_open()
majHeure
End Sub

Sub auto_close()
On Error Resume Next
Application.OnTime temps, Procedure:="majHeure", Schedule:úlse
End Sub

http://boisgontierjacques.free.fr/fichiers/OnTimeHeure.xls

JB
http://boisgontierjacques.free.fr/



On 18 avr, 11:43, Corto
Bonjour Jean-Paul GIORGETTI,
La fonction OnTime demande un timestamp complet (Date + heure)
Sub AtHour()
Application.OnTime Now + TimeValue("00:10:00"), "message"
End Sub

Sub message()
ActiveCell = Now
ActiveCell.Offset(1, 0).Activate
AtHour
End Sub

Corto




Salut à tous,

Je désire faire une procédure qui s'exécuterait toutes les heures (à
l'heure


pile) à partir de l'heure suivant l'ouverture du fichier.

J'ai donc créé un petit bout de code pour tester mais voilà que ma
procèdure


s'exécute plusieurs fois de suite (2, 3, 4 fois), je ne comprends pas
pourquoi, j'ai essayé d'y coller une instruction "Wait", mais cela n'a
rien


changé.
Je vous transmet ce que j'ai écrit, je suis preneur de toutes
propositions


et explications.

Merci d'avance,

Jean-Paul

Sub AtHour()
Heure = Hour(Now) + 1
Heure = TimeValue(Str(Heure Mod 24) & ":00:00")
Application.OnTime Heure, "message"
End Sub

Sub message()
MsgBox "test"
'Application.Wait (Now + TimeValue("0:00:10"))
AtHour
End Sub- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



Jean-Paul GIORGETTI
Le #5460171
Bonjour,

Merci pour la proposition que je vais tester.

Bonne continuation,

Jean-Paul

"Mishell" ONS#
'Dans un module
Global heure

Sub test()
AtHour
End Sub

Sub AtHour()

heure = DateSerial(Year(Now + 1 / 24), Month(Now + 1 / 24), Day(Now + 1 /
24)) & " " & TimeSerial(Hour(Now + 1 / 24), 0, 0)

Application.OnTime heure, "message"
End Sub


Sub message()
AtHour
MsgBox Time

End Sub


Sub arretTimer()
On Error Resume Next
If heure <> "" Then
'Annuler le paramétrage du OnTime programmé précédemment.
Application.OnTime EarliestTime:=heure, _
Procedure:="AtHour", Schedule:úlse

End If


End Sub

'Code à mettre dans ThisWorkBook

Private Sub Workbook_BeforeClose(Cancel As Boolean)
arretTimer
End Sub

Private Sub Workbook_Open()
test
End Sub


"Jean-Paul GIORGETTI" news:
Salut à tous,

Je désire faire une procédure qui s'exécuterait toutes les heures (à
l'heure
pile) à partir de l'heure suivant l'ouverture du fichier.

J'ai donc créé un petit bout de code pour tester mais voilà que ma
procèdure
s'exécute plusieurs fois de suite (2, 3, 4 fois), je ne comprends pas
pourquoi, j'ai essayé d'y coller une instruction "Wait", mais cela n'a
rien
changé.
Je vous transmet ce que j'ai écrit, je suis preneur de toutes
propositions


et explications.

Merci d'avance,

Jean-Paul


Sub AtHour()
Heure = Hour(Now) + 1
Heure = TimeValue(Str(Heure Mod 24) & ":00:00")
Application.OnTime Heure, "message"
End Sub



Sub message()
MsgBox "test"
'Application.Wait (Now + TimeValue("0:00:10"))
AtHour
End Sub









Jean-Paul GIORGETTI
Le #5460161
Bonjour Corto,

Merci, mais j'admets ne pas comprendre ce que vous entendez par "timestamp"
et je crois qu'en l'occurrence cela ne règle pas tout à fait mon problème.

Bonne continuation et à bientôt,

Jean-Paul

"Corto" #
Bonjour Jean-Paul GIORGETTI,
La fonction OnTime demande un timestamp complet (Date + heure)
Sub AtHour()
Application.OnTime Now + TimeValue("00:10:00"), "message"
End Sub

Sub message()
ActiveCell = Now
ActiveCell.Offset(1, 0).Activate
AtHour
End Sub

Corto

Salut à tous,

Je désire faire une procédure qui s'exécuterait toutes les heures (à
l'heure

pile) à partir de l'heure suivant l'ouverture du fichier.

J'ai donc créé un petit bout de code pour tester mais voilà que ma
procèdure

s'exécute plusieurs fois de suite (2, 3, 4 fois), je ne comprends pas
pourquoi, j'ai essayé d'y coller une instruction "Wait", mais cela n'a
rien

changé.
Je vous transmet ce que j'ai écrit, je suis preneur de toutes propositions
et explications.

Merci d'avance,

Jean-Paul


Sub AtHour()
Heure = Hour(Now) + 1
Heure = TimeValue(Str(Heure Mod 24) & ":00:00")
Application.OnTime Heure, "message"
End Sub



Sub message()
MsgBox "test"
'Application.Wait (Now + TimeValue("0:00:10"))
AtHour
End Sub






Jacques ALARDET
Le #5459641
Bonjour,

J'ai testé les macros sous Excel V2003 : ça marche correctement



"Jean-Paul GIORGETTI" de news:
Salut à tous,

Je désire faire une procédure qui s'exécuterait toutes les heures (à
l'heure
pile) à partir de l'heure suivant l'ouverture du fichier.

J'ai donc créé un petit bout de code pour tester mais voilà que ma
procèdure
s'exécute plusieurs fois de suite (2, 3, 4 fois), je ne comprends pas
pourquoi, j'ai essayé d'y coller une instruction "Wait", mais cela n'a
rien
changé.
Je vous transmet ce que j'ai écrit, je suis preneur de toutes propositions
et explications.

Merci d'avance,

Jean-Paul


Sub AtHour()
Heure = Hour(Now) + 1
Heure = TimeValue(Str(Heure Mod 24) & ":00:00")
Application.OnTime Heure, "message"
End Sub



Sub message()
MsgBox "test"
'Application.Wait (Now + TimeValue("0:00:10"))
AtHour
End Sub






Jean-Paul GIORGETTI
Le #5459271
Bonjour,

Merci d'avoir testé, je travaille avec excel 2000, peut-être une différence
de traitement entre les versions ?

Bonne continuation,

Jean-Paul

"Jacques ALARDET"
Bonjour,

J'ai testé les macros sous Excel V2003 : ça marche correctement



"Jean-Paul GIORGETTI" message

de news:
Salut à tous,

Je désire faire une procédure qui s'exécuterait toutes les heures (à
l'heure
pile) à partir de l'heure suivant l'ouverture du fichier.

J'ai donc créé un petit bout de code pour tester mais voilà que ma
procèdure
s'exécute plusieurs fois de suite (2, 3, 4 fois), je ne comprends pas
pourquoi, j'ai essayé d'y coller une instruction "Wait", mais cela n'a
rien
changé.
Je vous transmet ce que j'ai écrit, je suis preneur de toutes
propositions


et explications.

Merci d'avance,

Jean-Paul


Sub AtHour()
Heure = Hour(Now) + 1
Heure = TimeValue(Str(Heure Mod 24) & ":00:00")
Application.OnTime Heure, "message"
End Sub



Sub message()
MsgBox "test"
'Application.Wait (Now + TimeValue("0:00:10"))
AtHour
End Sub









Publicité
Poster une réponse
Anonyme