> 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
17,90 €Set de 30 lames bois et métal Bosch pour scies sauteuses + boite à 17,90 €
Valable jusqu'au 23 Janvier

Amazon fait une promotion sur le set de 30 lames bois et métal Bosch pour scies sauteuses avec leur boite de rangement à 17,90 €. On trouve l'ensemble ailleurs à partir de 36 €. Les lames portent les références T119BO, T111C et T118A (10 lames de chaque).


> Voir l'offre
24,99 €Casque audio bluetooth JBL T460BT à 24,99 €
Valable jusqu'au 23 Janvier

Cdiscount fait une vente flash sur le casque audio sans fil bluetooth JBL T460BT qui passe à 24,99 € livré gratuitement alors qu'on le trouve ailleurs à partir de 49,99 €. Ce casque sans fil bluetooth 4.0 offre une autonomie de 11h, permet de commander sur le casque les appels et la musique et est repliable à plat. Il est rechargeable avec un câble microUSB fourni.


> Voir l'offre
309,99 €Console Nintendo Switch édition limitée Mario 309,99 €
Valable jusqu'au 12 Février

Cdiscount propose la nouvelle version de la console Nintendo Switch en édition limitée Mario (avec manettes et bases personnalisées) à 309,99 € livrée gratuitement. Une pochette de transport est également fournie.


> 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