× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > 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 poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Les bons plans du moment PC Astuces

Tous les Bons Plans
85,90 €Routeur TP-Link Archer MR600 4G / WiFi à 85,90 €
Valable jusqu'au 03 Décembre

Amazon fait une vente flash sur le routeur TP-Link Archer MR600 4G / WiFi qui passe à 85,90 € livré gratuitement alors qu'on le trouve ailleurs à partir de 118 €. Si vous êtes à proximité d'une zone blanche ADSL qui vous empêche de profiter d'une connexion Internet de qualité, ce routeur vous permettra d'accéder à Internet via un abonnement 4G. Mettez la carte SIM 4G dans le routeur et tous vos appareils pourront accéder à Internet rapidement via le WiFi AC 1200 Mbps ou Ethernet.


> Voir l'offre
79,99 €Ecouteurs intra-auriculaires sans fil Bluetooth Jabra Elite 65t à 79,99 €
Valable jusqu'au 03 Décembre

Amazon fait une promotion sur les écouteurs intra-auriculaires sans fil Bluetooth Jabra Elite 65t qui passent à 79,99 € livrés gratuitement. On les trouve ailleurs à partir de 100 €. Côté son, l'égaliseur personnalisable vous permet d'ajuster le rendu sonore tandis que la technologie avancée à quatre microphones supprime les bruits de fond lors des appels pour des conversations limpides. Au quotidien, ces écouteurs Jabra restent parfaitement en place et proposent même une fonction de commande vocale simplifiée. E

nfin, vous apprécierez les 5 heures d'autonomie avec une seule charge, qui se transforment en 15 heures avec l'étui de recharge compact.  Le Jabra Elite 65t est certifié IP55 et offre une garantie de 2 ans contre l’humidité et la poussière. Où que vous soyez et quelle que soit votre activité, vous profitez d’une liberté absolue pour les appels et la musique. 


> Voir l'offre
-10%-10% sur les écrans PC chez LDLC avec le code BIGMAMA
Valable jusqu'au 01 Décembre

LDLC propose actuellement 10% de remise immédiate sur les écrans PC de son catalogue. Pour profiter de l'offre, saisissez le code BIGMAMA dans votre panier.


> 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