| ||||||||
Astucien | Bonjour à tous et merci d'avance. J'ai dans un fichier excel un calendrier (jour, date, mois, année) et une "horloge" qui affiche heure, minute et seconde. Le tout en jouant avec les MFC. Pour que le calendrier se mette à jour, il faut jouer avec la fonction calcul manuel. Pour que l'on puisse voir les secondes "bouger" j'ai crée cette macro ; sub horloge() do sheets(feuil1).calculate loop end sub Seul problème quand je lance la macro tout marche bien, mais elle ne s'arrête plus !! l faut faire Escap + débogage macro + OK. Quelqu'un a-t-il une solution ? Merci d'avance | |||||||
Publicité | ||||||||
Astucien ![]() | Bonjour, Ce système de loop est très consommateur de CPU et comme c'est un processus synchrone, tu n'as plus la main pendant que ça s'exécute. Je viens de faire une horloge avec un bouton pour la démarrer et un bouton pour l'arrêter -> https://www.cjoint.com/c/JDdsQ3SoXt4 Tu peux t'en inspirer et remplacer l'affichage du temps par ton .calculate encore que si c'est juste pour une horloge c'est remuer beaucoup de choses pour afficher une simple horloge. Cordialement, Edit: J'ajoute que ce mode d'affichage de l'horloge te permet de continuer à faire d'autres traitements par macro en parallèle Modifié par Debrief le 03/04/2020 20:58 | |||||||
Astucien | Mille mercis, je regarde et je dis quoi ! | |||||||
Astucien | RE ! le démarrage marche très bien (j'ai remplacé ma macro par la tienne) mais par contre l'arrêt ne marche pas. Et si je quitte en sauvegardant, il me réouvre le fichier avec le chrono en marche ! | |||||||
Astucien ![]() | Pour que l'arrêt fonctionne il faut que les paramètres soient correct, surtout le EaliestTime qui doit être celui du dernier EaliestTime d'un Schedule:=True. Sinon envoie-moi ton fichier pour voir. Modifié par Debrief le 03/04/2020 21:10 | |||||||
Astucien | je t'envoie le fichier, car honnêtement j'ai pas tout compris dans les ealiest.. Merci à toi !
| |||||||
Astucien ![]() | En premier lieu, il faudrait que la 1ère ligne de tes Macros soit: Option Explicit Sur mon Excel elle vient automatiquement dès que je créé un Module. Cette option impose la déclaration des variables. Ne pas déclarer les variable est une facilité mais amène à des erreurs. J'ai corrigé et maintenant ça fonctionne. Et chez moi, <Enregistrer> quand l'horloge est active ne provoque pas de relance du classeur. Ton fichier pour 4 jours -> https://www.cjoint.com/c/JDdtCcW6IU4 | |||||||
Astucien | Super c'est tout à fait ça ! c'est pas la première fois que tu me dépannes et toujours avec brio ! | |||||||
Astucien ![]() | Cool ! Je reviens sur l'Option Explicit. Absente c'est un source d'erreurs et présente on contrôle mieux ce qu'on manipule. Si elle ne s'affiche pas automatiquement lorsque tu créés un module, il faut régler les options VBA: Dans le Projet VBA, cliquer Outils / Options / Cocher Déclaration des variables obligatoire | |||||||
Publicité | ||||||||
Astucien | Et bien encore merci ! | |||||||
|
Les bons plans du moment PC Astuces | Tous les Bons Plans | |||||||||||||||
|