Arrêt automatique d'un chrono

Bonjour à Tous et Toutes

N'étant pas tous les jours occupé à travailler sur ce merveilleux outil,

je cherche depuis quelques temps à trouver une solution à mon problème.

En fait dans le cadre d'un de mes classeurs, je cherche à trouver le moyen via une macro de démarrer un compteur qui devrait s'arrêter soit après trente secondes, soit après une minute selon une case variable par liste.

(En gros si ma case "C2" = 1 --> 30sec ou "C2"=2 --> 1 minute)

j'ai déjà réussi à Lancer mon chrono et figer le temps quand je le stoppe.

Ma demande est celle-ci, est il possible de modifier ma macro pour qu'elle puisse stopper automatiquement mon compteur ?

Merci d'avance de prendre de votre temps pour ma demande.

142chrono.xlsm (17.44 Ko)

Salut

en c3 tu mets cette formule

=CHOISIR(C2;SECONDE(D6)=30;SECONDE(D6)=60)

puis ton code dans un module:

dim arret As Boolean 'déclaration dela variable "arret" qui est du type binaire 
arret= cells(3,3)  ' valeur de la cellule C3 (vrai ou faux)
if arret = true then   'condition si C3 = vrai alors 
'mettre dans cette ligne l'instruction que tu veux > arreter le chronos
else   
end if

Bonjour JIDE,

Tout d'abord un énorme merci de ta réactivité.

J'ai maintenant compris la ligne de commande =choisir....

j'ai juste dû changer la valeur 60 en 59 car mon compteur passe de 59 à 00. je ne suis pas à cette seconde près.

Par contre, n'y connaissant pas grand chose en VBA, je ne vois pas ou je dois insérer le code.

Merci d'avance.


Re Tous,

En fait dans la réponse , si on pouvait me renvoyer le fichier transformé,

j'aurais plus facile de le comprendre

tout grand merci

Il y'avait une erreur dans mon code proposé : c'était "arret" à la place de "booleen", de plus booleen était mal écrit

j'ai merdé pour trouver ou mettre le code car il y a déjà une macro (timer) en cours, je ne suis pas un expert!!

cependant j'ai refait ton classeur qui me paraissait compliqué et je t'en propose un autre :

96compteur.xlsm (24.26 Ko)
Option Explicit
Dim Tps As Date
Sub Tempo()
'Programmation de l'évènement toutes les secondes
Tps = Now + TimeValue("00:00:01")
Application.OnTime Tps, "Tempo"
'Traitement
Sheets(1).Range("A1").Value = #12/31/2014 11:59:59 PM# - Now
'incrémentation de la cellule A4
 Range("A4").Select
    Selection.Copy
    Range("A3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
'la condition
Dim var As Boolean
var = Cells(5, 1)
If var = True Then
Application.Run "StopTempo"
Else
End If
End Sub

Sub StopTempo()
On Error Resume Next
'Stopper la gestion de l'évènement OnTime en cours
Application.OnTime Tps, "Tempo", , False
End Sub

Sub Run()
Range("A3").Select
'départ de compteur :
    ActiveCell.FormulaR1C1 = "0"
    Range("A4").Select
 Application.Run "Tempo"
End Sub

Re Salut JIDE

Je vais voir ce que je peux faire pour transformer mon projet final avec tes lignes de commandes.

Ce "Timer" m'est utile pour mon projet et dans ce projet, j'ai aussi besoin de l'heure car, ce timer

est juste une partie de mon projet.

donc Il faut que je trouve le moyen d'utiliser ton code avec mes lignes de commandes en plus.

Merci de ton aide car ça m'ote DEJA une belle épine du pied.

Cordialement

Sam

Bonjour à Tous et toutes

Bien malheureusement, je ne trouve pas de solution, une fois que je lance cette nouvelle Macro, mon Horloge ne fonctionne plus .

Amicalement

Sam

Essaye avec ce code dans ton classeur en laissant la formule "choisir" que je t'ai donné plus haut en C3 :

Remplace la macro majheure par celle-ci :

Sub majHeure()

 ThisWorkbook.Sheets("Chrono").[A2] = Now
 temps = Now + TimeValue("00:00:1")
 Dim var As Boolean
var = Cells(3, 3)
If var = True Then 'si C3 = Vrai
Application.Run "Arrêt" 'lancer l'arret
Else 'sinon continuer :
 Application.OnTime temps, "majHeure"
 End If

End Sub

Malheureusement je trouve que le code n'est pas très fiable ca marche une fois sur 2, le problème est je crois que tu fais une boucle dans une même macro et je ne suis pas sur que ce soit très catholique !

Bonsoir JIDE

Je viens de tester cette ligne de commande et c'était parfait jusqu'à l'arrivée au temps imparti.

Une fois que la Macro demande l'arrêt, l'horloge s’arrête aussi.

Je vais garder mon idée première en ajoutant une fenêtre réglée dans le temps pour demander au la personne qui utilise le projet de se préparer à appuyer sur le Bouton STOP.

Grâce à ta ligne de commande "Choisir", j'ai su enfin comparer une case de donnée normale avec une case de temps.

Ton aide m'a été TRÈS utile et je t'en remercie énormément.

Cette histoire de Chrono ajoutée à l'horloge me fait m'arracher les cheveux, mais je commence à voir le bout de mon tunnel.

Encore Merci

Sam.

J'ai refait mon programme, l'horloge n'est plus en compte-à-rebours et continue quand le chrono s’arrête

107compteur-horloge.xlsm (24.77 Ko)

edit 1 : ca ne marche pas

edit 2 : ca marche (j'ai adapté le compteur en synchronisation avec l'horloge (toutes les secondes)

Rechercher des sujets similaires à "arret automatique chrono"