Pause et relance avec ontime ou autre

hidozo

XLDnaute Occasionnel
Bonjour,

J'ai une vidéo que je lis avec WMP. Je peux donc lancer, faire pause et reprendre.
Jusque là pas de souci.

Je veux également lancer un graphique qui se met à jour toutes les 0,033 sec. j'utilise Ontime avec une relance toutes les 0,033 sec
La mise à jour consiste à copier une ligne d'une feuille et la coller dans une ligne d'une autre feuille pour traitement des données. Le graphique se met à jour avec les données issues du nouveau traitement.
Jusque là pas de souci.

Cependant quand ma macro lancée par ontime tourne, je ne peux pas l'arrêter (j'ai un rond vert qui tourne sur mon écran et je n'ai pas accès à un bouton ou à ma feuille). La seule manière que j'ai trouvée pour l'arrêter est de cliquer sur Echap, mais cela me fait un bug et ce n'est pas acceptable.

Je recherche une solution pour lancer ma macro avec un bouton et quand je clique sur le bouton la macro se met en pause et si je reclique la macro se relance.

Je ne suis pas certain que ontime soit la meilleure solution,

Est-ce que quelqu'un aurait une idée ?

Informations complémentaires :
- je vais lier la vidéo et la mise à jour de mon graphique
- Pour une vidéo de quelques secondes, pas de souci, je peux attendre la fin, mais je peux avoir des vidéo de 4 heures

D'avance merci

Yonnel
 

hidozo

XLDnaute Occasionnel
Re : Pause et relance avec ontime ou autre

je mets mon code...

je lance la sub TTimer avec un bouton

Sub TTimer()
Application.OnTime Now + TimeValue("0,03"), "CopCol"

End Sub

Sub CopCol()

Dim Der, der2
Worksheets("hidden").Range("U1") = Worksheets("3D").Range("k1000").End(xlUp).Row
Application.ScreenUpdating = False

Der = Worksheets("Données").Range("ee1000000").End(xlUp).Row + 1
der2 = Worksheets("Données").Range("b1000000").End(xlUp).Row
If Der < 114 Then Der = 115
If Worksheets("Données").Range("ee" & Der) = "" And Der <= der2 Then

Worksheets("Données").Range("C" & Der & ":ED" & Der).Copy
Worksheets("Calcul").Select
Range("C6:ED6").Select
ActiveSheet.Paste

Worksheets("3D").Select
Application.ScreenUpdating = True
Worksheets("Données").Range("ee" & Der) = "X"
If Der > 115 Then Worksheets("Données").Range("ee" & Der - 1) = ""
Application.OnTime Now + TimeValue("0,03"), "CopCol"
End If

End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 222
Messages
2 086 395
Membres
103 200
dernier inscrit
pascalgip