Incomprehension lancement d'une macro

link93

XLDnaute Occasionnel
Bonjour,

Tit question technique j'ai trouvé un code vba :

Application.ScreenUpdating = False
Application.OnTime Now + TimeValue("00:00:5"), "Macro1"
Application.OnTime Now + TimeValue("00:00:01"), "macro2"

Qui lance selon l'interval voulu une macro aprés la lancement d'une autre.

Problème quand je le fais ça marche mais au bout de quelque seconde la 2eme macro n'apparait plus.

Quelqu'un serai le pourquoi du comment ?

Merci
 

ClementMaillioux

XLDnaute Nouveau
Re : Incomprehension lancement d'une macro

Bonjour Link93,

Il y a tellement de génies ici sur ce forum que je me ferai peut être contredire mais VBA ne permet tout simplement pas le lancement de plusieurs macros de manière simultanées... De fait, il en coupe forcément une.
 

link93

XLDnaute Occasionnel
Re : Incomprehension lancement d'une macro

BOnjour,

Merci de m'avoir répondu.

Elle ne se lance pas simultanément une ecart de quelque seconde les sépares.

Le lancement différé marche ce que je ne comprend pas c'est pour la macro2 ne reste pas.

Je pensais qu'il y avait peut être une boucle entre les deux mais elle ne se relance pas aprés être partie.

Si tu as une idée sur le pourquoi.
 

ClementMaillioux

XLDnaute Nouveau
Re : Incomprehension lancement d'une macro

Bonjour,

Je n'ai peut être pas compris la question à ce moment-là.

Est-ce que la première macro doit toujours être active au moment où l'instruction de lancer la deuxième s'enclenche?
Ou
Est-ce que la première macro est terminée une fois que la deuxième est sensée s'enclencher?
 

link93

XLDnaute Occasionnel
Re : Incomprehension lancement d'une macro

J'ai du mal exprimé mon cas.

La premier macro s'active sur selection mais qu'une fois. La deuxieme se lance dés que la premiere est lancer ( intervalle de 3 seconde).

Peut être que le problème viens de mon code ?
 

kjin

XLDnaute Barbatruc
Re : Incomprehension lancement d'une macro

bonjour,
A tester
Code:
Dim Temps1, Temps2

Sub Depart1()
Temps1 = Now + TimeValue("00:00:05")
Application.OnTime Temps1, "Macro1"
Depart2

End Sub
Sub Macro1()
MsgBox "me revoilou"
Depart1

End Sub

Sub Depart2()
Temps2 = Now + TimeValue("00:00:02")
Application.OnTime Temps2, "Macro2"

End Sub

Sub Macro2()
MsgBox "coucou"

End Sub

Sub Stopmacro()
On Error Resume Next
Application.OnTime Temps1, "Macro1", , False
Application.OnTime Temps2, "Macro2", , False

End Sub
A+
kjin
 

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz