Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Appliquer une pause jusqu'à un évènement temporel

  • Initiateur de la discussion Initiateur de la discussion AzoR
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

AzoR

XLDnaute Occasionnel
Bonjour !

Je poste ce petit message car j'ai du mal à faire un truc tout bête je pense ...

J'ai un programme avec des acquisitions qui durent environ 15s et qui se répète pendant un certain temps "b" (choisi par l'utilisateur) grâce à cette ligne :

While Time < debut + TimeSerial(0, b, 0)

Donc cela fonctionne très bien.

Or on me demande maintenant de faire en sorte que l'on choisisse une "période", par défaut 30s.
Enfaite l'acquisition devra se faire, durant environ 15s puis le programme devra attendre jusqu'à la fin de cette période, qui ne sera pas tout le temps 30s, on peut le choisir dans la listbox.

Donc avec cet exemple, pour une période de 30s, l'acquisition durera environ 15s, puis le programme devra donc attendre environ 15s.

Je fais donc une variable débutperiode = Time au début de l'acquisition, et ensuite mon problème est de dire au programme qu'il doit ATTENDRE ( et c'est bien là le problème ... ) jusqu'à ce que Now = debutperiode + TimeSerial(0, 0, p) , p étant le temps de la "période" choisi par l'utilisateur dans mon interface.

En gros je voudrais faire : " Tant que le temps de la période n'est pas atteint, attendre, puis continuer " et donc après le continuer le programme rebouclera étant donné qu'il y a le Wend à la fin qui va de paire avec ma ligne "While Time < debut + TimeSerial(0, b, 0)".

J'espère avoir été clair ... 😕

Mon programme est trop gros pour que j'arrive à le joindre mais je pense avoir assez expliquer mon problème.

Merci d'avance ! 😛
 
Re : Appliquer une pause jusqu'à un évènement temporel

re,

J'ai essayer :
Do While Time < Debut + p
DoEvents ' Donne le contrôle à d'autres processus.
Loop

et cela arrête bien après mon acquisition mais elle ne repart pas après, comment faire en sorte qu'elle sorte de la boucle do..loop une fois le temps dépassé ?
 
Re : Appliquer une pause jusqu'à un évènement temporel

C'est bon cela fonctionne avec :

periode = timer

Do While timer < periode + p
DoEvents ' Donne le contrôle à d'autres processus.
Loop

Par contre il attend 30 secondes APRES l'acquisition alors que je voudrais que dans les 30 secondes soit compris l'acquisition. Où dois-je faire la soustraction et à quoi dois-je soustraire du coup ?
 
Re : Appliquer une pause jusqu'à un évènement temporel

Re,

Pierrot93 tu as une idée ? car pour l'instant j'ai mis :
If Time < Debut + TimeSerial(0, b, 0) Then
Do While timer < periode + (p - 14.65)
DoEvents ' Donne le contrôle à d'autres processus.
Loop
End If

Mais du coup c'est faussé si jamais l'utilisateur fait une action qui prolonge l'acquisition 🙁

Comment je peux faire pour dire qu'il chronomètre le temps d'un endroit à un autre du programme ( je choisirai dans le programme ) ?

Car je connais avec start/debug.print mais ça ne marchera pas là je pense, fin je ne sais pas.
 
Re : Appliquer une pause jusqu'à un évènement temporel

re,

D'accord, ah ... il n'y a pas besoin de la comprendre mais bon ... bah j'ai mon userform comme interface avec les différents boutons mais sinon mes tableaux sont dans ma feuil1 d'excel ...
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…