Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Garder la main pendant l'exécution

2 réponses
Avatar
bob
Bonjour à tous

Sur Xl97!
J'ai réalisé un chronomètre tout simple qui réagit par rapport à une heure
de
départ (l'heure système - l'heure de départ). Avec une boucle do...Loop, je
peux "rafraîchir" la cellule qui accueille le chrono, mais je perds la main
pour exécuter une autre macro.
Comment garder cette main?
Voilà mon code:

Option Explicit
Dim chrono

Sub krono()
Dim heureDepart, affichage As Range 'L'heure de départ et le chrono.
Dim monChrono 'La différence entre l'heure système et
le départ.

Set heureDepart = Range("départ")
Set affichage = Range("chronomètre")

Do
monChrono = Time - heureDepart
chrono = Format(monChrono, "hh:mm:ss")
affichage = chrono 'Affichage de chrono en cellule
chronomètre.

Loop 'inconvénient: la main est perdue
pendant l'exécution.
End Sub

Merci d'avance

--
Robert

2 réponses

Avatar
gb
Bonjour Bob.

Il faut libérer l'ordinateur en remplaçant la Loop par une commande
Application.OnTime.

Exemple:
Dim heureDepart, affichage As Range 'L'heure de départ et le chrono.
Dim ProchainAffichageHorloge As Date

Sub Depart()

Call krono

End Sub

Sub Arret()

On Error Resume Next

Application.OnTime ProchainAffichageHorloge, _
Procedure:="Krono", schedule:úlse

End Sub

Sub krono()
Dim monChrono 'La différence entre l'heure système et
le départ.

Set heureDepart = Range("départ")
Set affichage = Range("chronomètre")

ProchainAffichageHorloge = Now + TimeSerial(0, 0, 1) 'affichage à toutes
les secondes

Application.OnTime ProchainAffichageHorloge, "Krono"

monChrono = Time - heureDepart
chrono = Format(monChrono, "hh:mm:ss")
affichage = chrono 'Affichage de chrono en cellule
chronomètre.

End Sub



"bob" wrote in message
news:
Bonjour à tous

Sur Xl97!
J'ai réalisé un chronomètre tout simple qui réagit par rapport à une heure
de
départ (l'heure système - l'heure de départ). Avec une boucle do...Loop,
je

peux "rafraîchir" la cellule qui accueille le chrono, mais je perds la
main

pour exécuter une autre macro.
Comment garder cette main?
Voilà mon code:

Option Explicit
Dim chrono

Sub krono()
Dim heureDepart, affichage As Range 'L'heure de départ et le chrono.
Dim monChrono 'La différence entre l'heure système
et

le départ.

Set heureDepart = Range("départ")
Set affichage = Range("chronomètre")

Do
monChrono = Time - heureDepart
chrono = Format(monChrono, "hh:mm:ss")
affichage = chrono 'Affichage de chrono en cellule
chronomètre.

Loop 'inconvénient: la main est perdue
pendant l'exécution.
End Sub

Merci d'avance

--
Robert




Avatar
bob
Salut
Merci je teste

--
Bob
"gb" a écrit dans le message de
news:
Bonjour Bob.

Il faut libérer l'ordinateur en remplaçant la Loop par une commande
Application.OnTime.

Exemple:
Dim heureDepart, affichage As Range 'L'heure de départ et le chrono.
Dim ProchainAffichageHorloge As Date

Sub Depart()

Call krono

End Sub

Sub Arret()

On Error Resume Next

Application.OnTime ProchainAffichageHorloge, _
Procedure:="Krono", schedule:úlse

End Sub

Sub krono()
Dim monChrono 'La différence entre l'heure système
et

le départ.

Set heureDepart = Range("départ")
Set affichage = Range("chronomètre")

ProchainAffichageHorloge = Now + TimeSerial(0, 0, 1) 'affichage à toutes
les secondes

Application.OnTime ProchainAffichageHorloge, "Krono"

monChrono = Time - heureDepart
chrono = Format(monChrono, "hh:mm:ss")
affichage = chrono 'Affichage de chrono en cellule
chronomètre.

End Sub



"bob" wrote in message
news:
Bonjour à tous

Sur Xl97!
J'ai réalisé un chronomètre tout simple qui réagit par rapport à une
heure


de
départ (l'heure système - l'heure de départ). Avec une boucle do...Loop,
je

peux "rafraîchir" la cellule qui accueille le chrono, mais je perds la
main

pour exécuter une autre macro.
Comment garder cette main?
Voilà mon code:

Option Explicit
Dim chrono

Sub krono()
Dim heureDepart, affichage As Range 'L'heure de départ et le chrono.
Dim monChrono 'La différence entre l'heure système
et

le départ.

Set heureDepart = Range("départ")
Set affichage = Range("chronomètre")

Do
monChrono = Time - heureDepart
chrono = Format(monChrono, "hh:mm:ss")
affichage = chrono 'Affichage de chrono en cellule
chronomètre.

Loop 'inconvénient: la main est perdue
pendant l'exécution.
End Sub

Merci d'avance

--
Robert