Compte a rebours [Résolu]

Signaler
Messages postés
10
Date d'inscription
vendredi 21 septembre 2007
Statut
Membre
Dernière intervention
13 juin 2008
-
Messages postés
233
Date d'inscription
mercredi 26 février 2003
Statut
Membre
Dernière intervention
21 février 2009
-
Lilly






Bonjour, je suis débutante et j'aimerai savoir comment on fait un compte à rebours où l'utilisateur peut changer lui même l'heure, comme un réveil quoi.J'ai entendu parler d'un contrôle apelé maskedbox, qui est bien pratique car il garde les : (deux point) quand on efface pour mettre une heure (grâce au mask).Mais je n'arrive pas à le décrémenter, je n'arrive pas à trouver l'instruction qui me permet de décrémenter la valeur de ce maskedbox : il fait n'importe quoi. Merçi d'avance de votre aide

5 réponses

Messages postés
233
Date d'inscription
mercredi 26 février 2003
Statut
Membre
Dernière intervention
21 février 2009
2
Bonjour

As tu essayer une recherche car moi j'ai trouvé cette sources
http://www.vbfrance.com/codes/UTILISER-MASKEDBOX_42126.aspx

@+: SCCréat
Pensez:  Réponse acceptée

Mail:
Stéphan.COCHET
Messages postés
10
Date d'inscription
vendredi 21 septembre 2007
Statut
Membre
Dernière intervention
13 juin 2008

Lilly

Merçi pour la source, elle m'a permis d'interdire des valeurs pour l'heure non valide comme 75min^^ par exemple.Mais mon compte à rebours ne marche pas. Quand je met une valeur comme 2h35min45s, il décrémente normalement, mais si je met:00h15min14s,il efface les 00h    ->il me marque 15:14:## et il décrémente après normalement^^.
Messages postés
233
Date d'inscription
mercredi 26 février 2003
Statut
Membre
Dernière intervention
21 février 2009
2
Je ne sais comment tu fais ton timer
mais tu peux essayer

 Dim CptRebours As Date
 CptRebours = CDate(MaskEdBox2.Text)
 CptRebours = CptRebours - TimeSerial(0, 0, 1)
 MaskEdBox2.Text =CptRebours

@+: SCCréat
Pensez:  Réponse acceptée

Mail:
Stéphan.COCHET
Messages postés
10
Date d'inscription
vendredi 21 septembre 2007
Statut
Membre
Dernière intervention
13 juin 2008

Lilly

Mon timer avec ce que tu m'as donné est de la forme:

Private Sub Timer2_Timer()
Dim CptRebours As Date
If commande.Caption = "Arrêt" And MaskEdBox1.Text <> "0" Then
    CptRebours = CDate(MaskEdBox2.Text)         
    CptRebours = CptRebours - TimeSerial(0, 0, 1)
    MaskEdBox2.Text = CptRebours




End If




End Sub


La déclaration dim tu la met dans ce sub ou dans la déclaration générale?
il ne décompte pas de 1 en 1: j'inscrit 00:00:05, et quand j'envoie il me marque 16:56:45 puis un truc du genre 56:23:12, qui n'a rien a voir^^:il fait ce qu'il veut
Messages postés
233
Date d'inscription
mercredi 26 février 2003
Statut
Membre
Dernière intervention
21 février 2009
2
Hello,

je viens de faire l'essai chez moi ça fonctionne
Voila ce que j'ai écris

Private Sub Form_Load()
  MaskEdBox1.Format = "hh:mm:ss"
  MaskEdBox1.Text = Time
End Sub
Private Sub Timer1_Timer()
Dim CptRebours As Date
If commande.Caption = "Arrêt" And MaskEdBox1.Text <> "00:00:00" Then
    CptRebours = CDate(MaskEdBox1.Text)
    CptRebours = CptRebours - TimeSerial(0, 0, 1)
    MaskEdBox2.Text = CptRebours
End If
End Sub