XL 2016 Compte à rebours Temps variable + pause, reprise, msgbox à un instant T

Calou37

XLDnaute Nouveau
Bonjour à tous,

Bricoleur en VBA, je me suis créé une petite application sous excel pour gérer des parties de pétanque d'entrainement (je suis président d'un club) avec un tirage au sort aléatoire en fonction du nombre de participants. Sans que cette application soit des plus simplifiée en termes de code, elle fonctionne et fait le taf.
J'aurais aimé y intégré un compte à rebours pour limiter le temps des parties avec la possibilité de faire pause puis reprise par bouton, le tout sur un Userform permettant de continuer à travailler sur la feuille de calcul.
Cela fait maintenant quelques temps que je galère à inclure cette fonctionnalité sans succès.
Pour info : je suis sous excel 2016 en office 64bits (pas eu le choix).
Dans l'immédiat ce serait donc cette fonctionnalité de Pause et Reprise au temps qui a été mis en pause.
Suite à cela, si je pouvais intégrer également un msgbox à un instant T du décompte pour indiquer le temps restant (ex : "Il vous reste 10 minutes")

D'avance merci de votre aide et soutien, je suis sûr que pour certains d'entre vous auront les connaissances nécessaires pour m'aider et me guider à réaliser cela.
En PJ, je vous transmet uniquement le compte à rebours, à partir de là, je pense que j'arriverais facilement à l'intégrer à mon application.

Encore merci d'avance
Pascal
 

Pièces jointes

  • MinuteurUSF.xlsm
    27 KB · Affichages: 26
Solution
Bonsoir,
Avec votre aide, j'ai pu enfin réaliser un compte à rebours comme je le souhaitais soit :
  • Réglage du temps de décompte par l'utilisateur
  • Réglage d'une alarme avant la fin du temps (Message + Bip1)
  • Possibilité de pause (arrêt du compteur) avec reprise à partir du temps arrêté
  • Message de fin avec Bip2
Je vous joints le résultat final qui serait surement à optimiser mais il a le mérite de fonctionner sous excel 2016 64 bits sous Windows 10 64 bits. La PJ est zippée sur un dossier comprenant le fichier + les deux sons d'alarme.

Espérant avoir contribué et encore merci à @patricktoulon et @sylvanu

Pascal

patricktoulon

XLDnaute Barbatruc
re
bonjour
@sylvanu ton timer n'est pas arrété
c'est juste la mise a jour qui est faite ou non selon go ou stop ou raz
démarre en un ou deux arrete les et ouvre vba tu va voir ton curseur clignoter
comme tu gère avec un seul timer met un stop final si aucun n'est démarré ou aucun ne tourne
sinon ton on time tourne tant que l’instance de l'application dans le quel le fichier s’exécute tournera jusqu'a fermeture de l'instance ;)
 

patricktoulon

XLDnaute Barbatruc
juste comme ca
il serait simple dans le selectchange de lancer ou arrêter si somme de F et j = 0 ou plus ;)
plutôt que de le lancer a l'open ;)
au pire avec une variable booleene en public dans le module modifier en fonction de la somme de f et j
et dans la sub exécuter if ta variable then recommande un on time sinon exit
sinon c'est vraiment pas mal du tout
 

patricktoulon

XLDnaute Barbatruc
tiens @sylvanu
c'est ton fichier modifié
démarre en plusieurs arrête les les un après les autres avec stop quand le dernier est stopé ,le timer est arrête
des le premier lancé le timer démarre
si tu en démarre plusieurs tant que tous ne sont pas arrêtés il tourne

j'ai simplement déplacer la sub lancer dans le module
et dans le selectchange de la feuille selon la colonne et somme la variable booleene"StatAndstop" est modifier
reste plus qu'a dans executer if starAndStop then application.ontime blablabla

rien de plus ;)
 

Pièces jointes

  • 40Compteurs(V3 modif pat).xlsm
    23.1 KB · Affichages: 21

Calou37

XLDnaute Nouveau
Bonsoir,

Déjà un grand merci de votre participation, j'ai regardé votre proposition et cela répond en partie à ma demande mais le plus dur pour moi va être de l'adapter à mon appli.
Surtout que je suis entièrement sur un userform et non sur la feuille de calcul.
Pas facile à comprendre quand on est seulement un bidouilleur :)
Je vais tout de même tenter de comprendre le fonctionnement et essayer de le mettre dans mon code.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
Un exemple rapide en PJ.
Mais avec mon propre Useform, je n'ai pas compris votre grande fenêtre et son utilité.
( ne pas oublier pour la gestion des temps, celle ci est gérée en décimal, et la seconde vaut 1/86400 )
 

Pièces jointes

  • Chrono.xlsm
    35.5 KB · Affichages: 32

Calou37

XLDnaute Nouveau
Bonjour Sylvanu,

Un grand merci pour cet exemple qui répond exactement à mon besoin.
Pour info et comme je l'avais indiqué dans mon premier post, il s'agit d'ajouter ce minuteur à une application de gestion de concours de pétanque, et dans certains cas les parties sont limitées en temps. L'affichage est consultable par les joueurs et nous utilisons deux écrans, ce qui me permet de mettre le compte à rebours sur le deuxième écran et qu'il soit visible de loin.
En tout cas, vraiment un GRAND MERCI.
Prenez soin de vous
Et peut-être à un de ces jours.
Pascal
 

Calou37

XLDnaute Nouveau
Bonsoir,
Avec votre aide, j'ai pu enfin réaliser un compte à rebours comme je le souhaitais soit :
  • Réglage du temps de décompte par l'utilisateur
  • Réglage d'une alarme avant la fin du temps (Message + Bip1)
  • Possibilité de pause (arrêt du compteur) avec reprise à partir du temps arrêté
  • Message de fin avec Bip2
Je vous joints le résultat final qui serait surement à optimiser mais il a le mérite de fonctionner sous excel 2016 64 bits sous Windows 10 64 bits. La PJ est zippée sur un dossier comprenant le fichier + les deux sons d'alarme.

Espérant avoir contribué et encore merci à @patricktoulon et @sylvanu

Pascal
 

Pièces jointes

  • CompteReboursUSF.zip
    697.2 KB · Affichages: 40

Discussions similaires

Réponses
24
Affichages
2 K

Statistiques des forums

Discussions
311 720
Messages
2 081 913
Membres
101 837
dernier inscrit
Ugo