Qu'est-ce qui ne tourne pas rond avec cette horloge. [Résolu/Fermé]

Signaler
Messages postés
92
Date d'inscription
dimanche 5 juillet 2015
Statut
Membre
Dernière intervention
13 juin 2016
-
Messages postés
23507
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
30 septembre 2020
-
Bonsoir à tous.

J'ai créé une horloge sur une feuille excel,grâce à l'excellent tuto ci-après.

https://tutoexcel1895.wordpress.com/2015/11/12/tuto-excel-realiser-votre-premiere-horloge-analogique-dans-excel/
Que j'active avec la macro que voici:

Sub Horloge()
'Procédure permettant d'afficher l'heure actuelle
'Déclaration de la variable
Dim MarcheArret As Boolean
MarcheArret = Not (MarcheArret)
Do While MarcheArret = True
DoEvents
Range("T_ref") = Now
Loop

End Sub

Jusque là tout marche à merveille.

Il se trouve que sur cette même feuille, j'ai créé des liens hypertexte avec d'autres feuilles du dossier avec pour support des formes qui n'ont pas de liens avec l'horloge.

Les liens fonctionnent très bien, mais lorsque j'active l'horloge. Alors là les liens sont comme inexistants.

Quelqu'un saurait-il m'expliquer ce qui se passe, et comme résoudre cette curiosité.

Grand merci.

1 réponse

Messages postés
1769
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
15 juin 2020
531
Bonsoir,

Apparemment l'exécution du code VBA est permanente et ne s'arrête qu'une fois le classeur fermé.
L'instruction "Doevents" permet des actions sur les feuilles du classeur alors que le code VBA reste actif, mais pas le fonctionnement des liens hypertexte. Ces liens ne fonctionnent que lorsque l'exécution VBA est arrêtée.



 
Messages postés
92
Date d'inscription
dimanche 5 juillet 2015
Statut
Membre
Dernière intervention
13 juin 2016

Bonsoir,

Merci pour ce premier élément de réponse. Qu'elle possibilité s'offre à moi pour activer les liens tout maintenant le code VBA actif
Messages postés
23507
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
30 septembre 2020
6 374
Bonjour,

Il faudrait utiliser OnTime toutes les secondes ou minutes pour appeler une petite proc qui met à jour l'horloge.
Voir exemple dans l'aide de Ontime.
Ne pas oublier de désactiver l'appel à la fermeture du classeur sinon il se rouvrira (tout est dans l'aide)
eric
Messages postés
92
Date d'inscription
dimanche 5 juillet 2015
Statut
Membre
Dernière intervention
13 juin 2016
>
Messages postés
23507
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
30 septembre 2020

Bonsoir Eric,

Merci pour l'info
Messages postés
92
Date d'inscription
dimanche 5 juillet 2015
Statut
Membre
Dernière intervention
13 juin 2016

Re bonsoir,

En définitif j'ai contourné le problème en remplaçant les liens hypertextes par des code VBA
Messages postés
23507
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
30 septembre 2020
6 374
Seulement tu as un excel qui tourne en permanence inutilement.
Sur un portable tu bouffes tes batteries en un rien de temps.