Rafraichir heure USF

  • Initiateur de la discussion Christian
  • Date de début
C

Christian

Guest
Bonjour au forum,

J`essaie de rafraichir un textbox dans mon USF toutes les 10 sec, mais mon code ne marche pas. Il n`y a pas de rafraichissement....

Code:
Option Explicit
Dim HeureProchainAppel1 As Double

Private Sub UserForm_Initialize()
HorlogeEnA11
End Sub

Public Sub HorlogeEnA11()
TextBox1.Value = Format(Now, 'HH:MM:SS')
'Nouveau paramétrage de OnTime
HeureProchainAppel1 = Now + TimeValue('00:00:10')
Application.OnTime HeureProchainAppel1, 'HorlogeEnA11'
End Sub

Si quelqu`un a une idee, merci d`avance.. :)
 
M

Maxinus

Guest
En fait, il y a 3 fois rien à changer...essaie de mettre un truc du style :

Public Sub HorlogeEnA11()
UserForm1.TextBox1.Enabled = True
UserForm1.TextBox1.Value = Format(Now, 'HH:MM:SS')
UserForm1.TextBox1.Enabled = False
'Nouveau paramétrage de OnTime
HeureProchainAppel1 = Now + TimeValue('00:00:02')
Application.OnTime HeureProchainAppel1, 'HorlogeEnA11'
End Sub

DANS UN MODULE (sinon ca marche pas).

Ensuite dans le code de ton USF tu appelles HorlogeEnA11.
NB : Enabled sert juste à ne pas modifier la textbox.

Tchô.
Bonne journée. ;)
 

CBernardT

XLDnaute Barbatruc
Bonjour Christian et Maxinus,

Pour rafraîchir la textbox, il faut créer une macro évènementielle. Chaque fois que l'heure change dans la textbox, la macro relance la macro de temporisation. C'est du style :

Private Sub TextBox1_Change()
HorlogeEnA11
End Sub

Un petit problème va se poser cependant ! Comment arrêter le système une fois qu'il est lancé ? Vas consulter l'aide sur la fonction ontime, il y a des exemples pour arrêter la procédure.

Cordialement

Bernard

Message édité par: CBernardT, à: 10/08/2005 10:54
 

excalibur

XLDnaute Impliqué
bonjour christian , le forum je procede comme cela dans un module Option Explicit
Dim Lheure As Double
Sub LancerTimer()
If useform1.Visible = False Then Exit Sub
Application.OnTime Now + TimeSerial(0, 0, 1), 'ExecutionTimer'
End Sub
Sub ArretTimer()
If useform1.Visible = False Then Exit Sub
On Error Resume Next
Application.OnTime Lheure, 'ExecutionTimer', , False
End Sub
Sub ExecutionTimer()
If useform1.Visible = False Then Exit Sub
Dim i As Byte
Sheets(1).Range('i13').Value = Now()
Lheure = Now + TimeSerial(0, 0, 10) '10secondes
Application.OnTime Lheure, 'ExecutionTimer'
End Sub ............................................................................... code usf Private Sub TextBox1_Change()
TextBox1.Value = Format(TextBox1.Value, 'h:mm:ss')
End Sub ..............Private Sub UserForm_Initialize()
TextBox1.Value = Sheets('FEUIL1').Range('i13').Value End Sub......Private Sub UserForm_Activate()
Call LancerTimer
End Sub
Private Sub CommandButton5_Click()
Call ArretTimer
Unload Me
End Sub
 

Discussions similaires

Réponses
13
Affichages
805

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz