Faire tourner l'heure en temps réel !

Faire tourner l'heure en temps réel ! - VB/VBA/VBS - Programmation

Marsh Posté le 23-08-2002 à 15:29:13    

Salut :hello:
Bon, cette fois-ci, une autre question : l'heure !
Je voudrais savoir comment faire (dans un projet VBA)
pour que l'heure que j'affiche soit en temps réel ?
Parce que la mienne, elle ne se met pas à jour !  :gun:  
Je suis obligé de la réactualiser moi même, en la rafraichissant
lorsque je clique sur un bouton (par ex)   :cry:  
La syntaxe est de la forme : "LblHeure = FormatDateTime(Time, 3)"
J'attend vos réponses  :ange:  
Merci d'avance  
:bounce:  :bounce:  :bounce:  

Reply

Marsh Posté le 23-08-2002 à 15:29:13   

Reply

Marsh Posté le 23-08-2002 à 15:40:18    

Fait un timer qui rafraîchit ta valeur toutes les secondes.

Reply

Marsh Posté le 23-08-2002 à 15:42:08    

Désolé, mais je ne suis pas encore un expert là dedans  :ange:  
Tu pourrais m'en dire plus pour cette histoire de timer ?
 :??:  :??:  :??:  
Merci

Reply

Marsh Posté le 23-08-2002 à 15:43:36    

Ben tape "timer" dans l'aide de VB, t'as une explication et des exemples, je pourrai pas être plus clair.

Reply

Marsh Posté le 23-08-2002 à 15:45:39    

Désolé, mais j'avais la flème de le faire  :sol:  
Merci !!!
 :bounce:  :bounce:  :bounce:

Reply

Marsh Posté le 23-08-2002 à 15:54:20    

J'ai tapé : "LblHeure = Timer"
et j'obtiens dans mon label d'affichage  
un chiffre du style : 57005,3
J'en fais quoi ???
Je trouve pas ça très explicite comme heure !
Apparemment, la fonction Timer permet de renvoyer  
l'heure dans un variable (sous forme de gros chiffre ??)
 
Au secours !!!  :pt1cable:

Reply

Marsh Posté le 23-08-2002 à 16:16:04    

Nan nan nan !
 
Tu crée un timer. C'est un objet.
Tu lui donnes un intervale de 1 seconde, et tu lui dit de rafraîchir ton champ heure.
 
Un timer, c'est juste un process qui va lancer une fonction toutes les x millisecondes.

Reply

Marsh Posté le 23-08-2002 à 16:23:06    

Zbod>achete un bouquin VB, parce qu'on sera pas toujours derriere toi pour te dire comment faire (quoi taper comme tu dis). Je dit pas ca méchamment, mais honnetement, la plupart de tes questions ont des réponses dans n'importe quel bouquin de poche VB (ou un peut coup de google). C'est en forgeant qu'on devient forgerons ;)

Reply

Marsh Posté le 23-08-2002 à 16:25:24    

Désolé, je dois être fatigué ou carrément con, mais je ne  
vois pas !!! :(  :(  :(  
Dans l'aide, il ne parle pas du timer en tant qu'objet.
Je ne sais pas comment le créer ?
 :fou:  :fou:  :fou:

Reply

Marsh Posté le 23-08-2002 à 16:29:47    

Ouvre VB putain !
 
Dans la liste des objets PAR DEFAUT à GAUCHE de ton code, il y a un réveil. Passe la souris dessus et "ho ! miracle ! y'a marqué 'timer' dessus !"
 
Ben tu drag'n'drop ce truc dans ta form, et tu te sert de cet objet pour faire ce quer tu veux.
 
Quand à l'exemple de l'aide VB, c'est JUSTEMENT comment afficher l'heure dans un form grâce à un timer.
 
Alors j'ai pas VB sous la main. Mais je t'ai donné 100 fois assez d'infos pour démarrer.
 
Fais un effort aussi...


Message édité par MagicBuzz le 23-08-2002 à 16:30:07
Reply

Marsh Posté le 23-08-2002 à 16:29:47   

Reply

Marsh Posté le 23-08-2002 à 16:32:35    

J'ai bien noté KARLKOX  :na:  
Mais (même si c'est chiant pour vous) j'utilise ce genre  
de forum car je considère que l'on peut tous s'entraider.
Si cela te gêne de me répondre, abstiens-toi !!!
Je ne t'en voudrais pas pour autant...
Je ne maitrise pas particulièrement ce language de programmation
et je n'ai pas l'intention de devenir une star dans ce domaine.
Je "maitrise" dans d'autres domaines et lorsque des newbies  
posent des questions auxquelles je peux répondre, je les aide.
C'est tout !  :p  
 

Reply

Marsh Posté le 23-08-2002 à 16:36:10    

Le même, mais pour MAGICBUZZ !!!
Ne t'énerve pas, ça sert à que dalle !
Je n'utilise pas VB, mais VBA sous Excel 2000.
Ce que tu m'explique, je ne le vois nulle part !
Même remarque que pour KARLKOX
 :p  :p  :p

Reply

Marsh Posté le 23-08-2002 à 17:07:01    

Hé bien tapes "timer" dans ta putain d'aide en ligne de l'éditeur de macro bordel :o
 
Non, moi je veux bien qu'on s'aide, mais là, c'est le B-A BA que tu demandes... Je crois qu'on commence à développer pas à partir du moment où on sait coder, mais à partir du moment où on sait se servir des bouquins et aides, et qu'on a le réflexe de s'en servir.

Reply

Marsh Posté le 23-08-2002 à 17:10:02    

MagicBuzz a écrit a écrit :

Hé bien tapes "timer" dans ta putain d'aide en ligne de l'éditeur de macro bordel :o
 
Non, moi je veux bien qu'on s'aide, mais là, c'est le B-A BA que tu demandes... Je crois qu'on commence à développer pas à partir du moment où on sait coder, mais à partir du moment où on sait se servir des bouquins et aides, et qu'on a le réflexe de s'en servir.




 
Et c'est toi qui critiques notre facon de répondre  :ouch:


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

Marsh Posté le 23-08-2002 à 17:19:05    

:heink:

Reply

Marsh Posté le 23-08-2002 à 17:22:53    

MagicBuzz : abstiens toi de répondre, tu ne m'aide absolument pas !
 :non:  :non:  :non:  
Zion : merci
 :jap:

Reply

Marsh Posté le 23-08-2002 à 20:56:30    

Zion > Ouais, parceque avant de m'énerver, je lui avait répondu on ne peut plus clairement :p
 
Zbob > Bon...
 

Code :
  1. Sub Main()
  2.     Dim Start As Long
  3.     Start = Timer
  4.     Do While True
  5.         If CLng(Timer) > Start Then
  6.             Start = CLng(Timer)
  7.             On Error Resume Next
  8.             Cells(1, 1).Value = "'" & Format(Hour(Now()), "00" ) & ":" & Format(Minute(Now()), "00" ) & ":" & Format(Second(Now()), "00" )
  9.             On Error GoTo 0
  10.         End If
  11.         DoEvents
  12.     Loop
  13. End Sub


 
J'ai pas VB sous la main comme je t'ai dit, donc tu te passeras de l'exemple avec un "vrai" timer.

Reply

Marsh Posté le 23-08-2002 à 21:59:12    

MagicBuzz a écrit a écrit :

Zion > Ouais, parceque avant de m'énerver, je lui avait répondu on ne peut plus clairement :p
 




 
Ah, donc faut juste avoir une excuse bidon pour pouvoir s'énerver et/ou dire une connerie


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

Marsh Posté le 23-08-2002 à 22:51:17    

zion > ça sert à rien d'en discuter, tu es de toute façon largement autant de mauvaise fois que moi

Reply

Marsh Posté le 24-08-2002 à 00:01:25    

[:rofl]


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 24-08-2002 à 09:22:15    

zion a écrit a écrit :

 
 
Ah, donc faut juste avoir une excuse bidon pour pouvoir s'énerver et/ou dire une connerie  




 
blahblah...
 
 
t'en est l'exemple meme  :kaola:

Reply

Marsh Posté le 26-08-2002 à 09:27:59    

Je te remercie MagicBuzz.
Tu vois, ça ne valait vraiment pas le coup de s'énerver.
N'étant pas un dieu en VBA (encore moins en VB), je ne  
pouvais absolument pas sortir ce genre de code...
 
Pour les autres, c'est bon, on arrête les conneries.
C'est complétement débile de se prendre la tête comme ça.
Fin des messages !
:bounce: :bounce: :bounce:

Reply

Marsh Posté le 26-08-2002 à 12:50:49    

Bon, j'ai essayé et on peut dire que ça marche (en partie).
J'obtiens bien une heure qui tourne bien toutes les secondes,  
mais c'est l'instruction : "DoEvents" qui me pose problème  :cry:  
En fait, je reste bloqué dans la boucle et mon application
ne se lance pas (le prog tourne mais n'affiche rien).
Pourrais-tu m'en dire plus ?
Merci!

Reply

Marsh Posté le 26-08-2002 à 13:55:42    

DoEvents pemret au système de faire "ce qu'il a en attente", de ne pas bloquer la machine pour soi-même, comme un malpropre.
 
L'exemple donné est une boucle infinie, on ne peut donc rien faire d'autre, sauf en y incorporant son code (qui risque d'être exécuté chaque seconde !), mais c'est pas souple..

Reply

Marsh Posté le 26-08-2002 à 15:55:42    

OK ! Donc, c'est mort alors ?
C'est con parce que ça ressemblait à un semblant  
de résultat positif tout ça :(
Si vous avez d'autres suggestions, elles sont les bienvenues !
Merci...

Reply

Marsh Posté le 26-08-2002 à 16:01:30    

J'ai regardé sur Google, rien trouvé d'utile (mal cherché ?). Dans l'aide de VBA EXCEL non plus. En VB, c'est plus facile....
 
Je me demandais s'il ne pourrait pas y avoir une feuille qui gère l'heure, et qui écrit dans une autre (qui lui sert de "face avant" ) ? Dans la feuille ppale, on fait des choses habituelles, dans l'autre, on met à jour heure,date, .. qui serait juste affichée dans un coin ?
Vu que j'utilise/connais PAS excel, j'imagine, je rêve, je fantasme, ...

Reply

Marsh Posté le 26-08-2002 à 16:09:04    

Hé oui, l'aide de Excel pour le VBA n'est pas terrible !
Quant au VB, je n'y ai pas encore consacré de mon temps.
Merci quand même pour tes recherches.
 :)  :)  :)  :)  :)

Reply

Marsh Posté le 26-08-2002 à 16:31:39    

Si c'est bien fait, il pourrait y avoir (?) une fonction analogue à la date, qui, "mise" dans une cellule, affiche d'elle-même l'heure courante. Prévu pour Office 3000 ?

Reply

Marsh Posté le 26-08-2002 à 16:36:38    

Bouge pas ! J'vais poser la question à Billou  :hap:

Reply

Marsh Posté le 26-08-2002 à 17:11:08    

J'ai jamais essayé, mais y'a pas moyen de lancer deux macros à la fois ? (on sait jamais :D)

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed