[VB] pb macro rafraichissement auto

Runering Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
 keribus -
Bonjour,

Grâce à une macro j'affiche sur excel une lecture de thermocouple, je voulais donc une petite macro qui me permette de rafraichir automatiquement le fichier: voici mon code

Sub ExecutionTimer()
Lheure = Now + TimeSerial(0, 1, 0)
Application.Calculate
Application.OnTime Lheure, "ExecutionTimer"
End Sub


Ainsi toutes les minutes la valeur se met à jour, le problème c'est que quand je quitte le fichier excel sans quitter tout excel (hum est-ce clair?) la macro continu à tourner et me réouvre le fichier.

Si quelqu'un avait une idée ca m'intéresserai, il y a peut etre d'autre méthode pour rafraichir automatiquement avec une macro qui s'arrète à la fermeture du fichier.

Merci
A voir également:

8 réponses

Pool Orion Messages postés 124 Date d'inscription   Statut Membre Dernière intervention   55
 
Salut,

Et pourquoi ne pas utiliser l'événement OnClose du document pour stopper ta fonction ExecutionTimer ?
0
Kobaya Messages postés 282 Date d'inscription   Statut Membre Dernière intervention   214
 
salut Runering,

La méthode OnTime est assez bizarre...

Pour désactiver le timer, il faut faire
On Error Resume Next
Application.OnTime Lheure, "ExecutionTimer", False
On Error Goto 0


Lheure correspond à la dernière programmation du timer, et 'On Error Resume Next' est obligatoire sous peine d'affichage d'un message d'erreur...

0
Runering Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour vos réponses:

Pool Orion je débute dans VB et je connais pas l'événement OnClose.

Kobaya, j'ai completer avec ce qu tu m'a spécifier. La macro marchait avant, elle marche encore mais ca n'a pas résolu le probleme qui est que si je ferme le fichier tout en restant dans excel il se réouvre.

j'ai un doute le problème vient peut etre du code que j'ai insérer dans ThisWokbook en objet

Private Sub Workbook_Open()
Application.Run ("ExecutionTimer")
End Sub


Avec ce code théoriquement la macro démarre automatiquement à l'ouverture du fichier.

Vu que je connaissais pas VBA il y a une semaine encore, je suis incapable dans dire plus.
0
Pool Orion Messages postés 124 Date d'inscription   Statut Membre Dernière intervention   55
 
Et bien je pense que tu en connais maintenant suffisamment non ?

Tu fais avec Workbook_Close() comme tu as fais avec Workbook_Open() sauf que tu dois stopper le Timer.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Runering Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Tu as raison j'aurais du y penser, malheuresement je viens de tester et ca ne resoud pas mon probleme, à croire que ce bug de réouverture vient d'autre chose.

Meme en fermant la macro avant de quitter le fichier celui ci se réouvre une fois fermé. Le seul moyen pour qu'il ne se réouvre pas c'est de fermer entiérement excel.
Je reconnais que c'est pas dramatique mais un peu dérangeant quand tu as une dizaine de fichier excel d'ouvert.
0
Pool Orion Messages postés 124 Date d'inscription   Statut Membre Dernière intervention   55
 
Je suis bien d'accord avec toi. Et même s'il n'y a qu'un fichier d'ouvert le problème reste le même. Ne jamais laisser tomber un problème avant d'avoir la solution (et même si possible continuer de chercher mieux mais ça on a rarement le temps:-)).
Si ton fichier se réouvre, c'est forcément que le Timer est toujours actif par contre je ne connais pas le moyen de le stopper. Je vais tenter de trouver une solution mais je ne promets rien et probablement pas dans l'immédiat.
0
keribus
 
Même problème pour moi!
Quelqu'un à t-il une solution??
0
keribus
 
Ca y est! Ca marche.

Copier/coller du code du site ci-dessous:

http://www.cpearson.com/excel/OnTime.aspx
(en anglais mais très clair!)
Si cela peu servir à d'autres...
A+
0