> Tous les forums > Forum Bureautique
 chrono dans une macroSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
dlxpat
  Posté le 03/04/2020 @ 19:43 
Aller en bas de la page 
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é
Debrief
 Posté le 03/04/2020 à 20:47 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
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.
Peut-être peux-tu t'inspirer du code du fichier pour limiter l'action à l'horloge ? Up to you !

Cordialement,
D.

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
dlxpat
 Posté le 03/04/2020 à 20:53 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Mille mercis, je regarde et je dis quoi !

dlxpat
 Posté le 03/04/2020 à 21:03 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
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 !

Debrief
 Posté le 03/04/2020 à 21:10 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
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.
C'est pour ça que j'ai mis la variable OnTimeTime au niveau Module.

Sinon envoie-moi ton fichier pour voir.



Modifié par Debrief le 03/04/2020 21:10
dlxpat
 Posté le 03/04/2020 à 21:14 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

je t'envoie le fichier, car honnêtement j'ai pas tout compris dans les ealiest.. Merci à toi !

https://www.cjoint.com/c/JDdtnDKe2V4

Debrief
 Posté le 03/04/2020 à 21:28 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
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.
Si elle avait été présente, la macro que tu as copiée n'aurait pas fonctionné car la variable OnTimeTime n'est déclaré nulle part en encore moins au niveau Module.

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

dlxpat
 Posté le 03/04/2020 à 21:31 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Super c'est tout à fait ça ! c'est pas la première fois que tu me dépannes et toujours avec brio !

Debrief
 Posté le 03/04/2020 à 21:48 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
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é
dlxpat
 Posté le 03/04/2020 à 21:53 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Et bien encore merci !

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
999,99 €Apple MacBook Air 13 pouces M1 à 999,99 € avec le code 20EUROS
Valable jusqu'au 26 Janvier

Cdiscount solde l'ordinateur portable Apple MacBook Air 13 pouces M1 à 999,99 € avec le code 20EUROS alors qu'on le trouve habituellement à partir de 1129 €. Apple M1, 8 Go de RAM, 256 Go de stockage.


> Voir l'offre
7,99 €Lot de 32 piles Philips AAA à 7,99 €
Valable jusqu'au 27 Janvier

Fnac fait une promotion sur le lot de 32 piles Philips AAA qui passe à 7,99 € au lieu de 15 €.


> Voir l'offre
18,90 €Switch Gigabit TP-Link 8 ports métal à 18,90 €
Valable jusqu'au 28 Janvier

Amazon propose actuellement le switch Gigabit TP-Link TL-SG108 8 ports (10/100/1000) dans un boîtier métal à 18,90 €. On le trouve habituellement autour de 30 €. 


> Voir l'offre

Sujets relatifs
Problème avec une macro dans Access 2013
Macro pour saisir une valeur dans une plage de cellule
une erreur dans ma macro
Enregistrer un fichier au format CSV dans une macro
sauter erreur dans une macro
Creation d' une boucle macro dans fichier EXCEL pour impression
[chemin relatif dans une macro]
se positionner avec une macro dans une cellule précise
Création d'une macro dans Word
listbox dans une macro
Plus de sujets relatifs à chrono dans une macro
 > Tous les forums > Forum Bureautique