Erreur avec Application.OnTime

Salut tout le monde,

Je fais quelques test d'idées que j'ai en tete pour pouvoir les integrer a un plus gros code si elles fonctionnent mais celle là ne fonctionne pas, savez vous pourquoi ?

Sub test()
Dim dly As Long, delay As String
dly = Application.InputBox("combien de minutes de delay:")
Application.OnTime Now + TimeValue("00:00:10"), "msg"

End Sub

Sub msg()
MsgBox dly
End Sub

Sub arret()
Application.OnTime Now + TimeValue("00:00:10"), "msg", , False ''sensée arreter l'ordre precedent avant qu'il ne se lance
End Sub

Bonjour

Je fais quelques test d'idées que j'ai en tete pour pouvoir les integrer a un plus gros code si elles fonctionnent mais celle là ne fonctionne pas, savez vous pourquoi ?

Oui parce que vous devez déclarer votre variable dly en entête de module (donc à la première ligne et avant toutes les sub du module) et pas dans la Sub Test

Cordialement

Bonjour, merci pour la reponse mais ça ne fonctionne toujours pas, j'ai tjrs une erreur à la derniere ligne

Que voulez vous faire exactement ?

Déclencher la macro msg ?

Je veux declencher la macro msg dans 10 secondes sauf si la macro arret a été lancée entre temps

regardez le fichier et lancer la macro test

16timer.xlsm (13.43 Ko)

Bonjour à tous,

pour annuler une exécution programmée via ontime. il faut préciser l'heure exacte à laquelle l'exécution a été programmée.

Option Explicit
Dim dly, demarrage_a

Sub test()
'Dim delay As String
dly = Application.InputBox("combien de minutes de delay:")
demarrage_a = Now + TimeValue("00:00:10")
Application.OnTime demarrage_a, "msg"

End Sub

Sub msg()
MsgBox dly
End Sub

Sub arret()
Application.OnTime demarrage_a, "msg", , False ''sensée arreter l'ordre precedent avant qu'il ne se lance
End Sub
Rechercher des sujets similaires à "erreur application ontime"