Manipulation des heures

Résolu
Signaler
Messages postés
70
Date d'inscription
mercredi 24 septembre 2003
Statut
Membre
Dernière intervention
20 mars 2007
-
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
-
Bonjour

A partir d'un timer placé sur une form, comme faire afficher une message box à 01:00:00, 01:30:00, 02:00:00, 02:30:30 ... 24:00:00, sans etre oblige de faire du style : if format(hour,"01:00:00") or format(hour,"01:30:00") ...then ... et éviter de taper 3 km de code ?

Merci

Lolo

10 réponses

Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
27
Voici 3 cm de code ...

Dim D as Date,nbminute as long
D = Now
nbminute = 60*(hours(d))+minutes(d)
If nbMinute Mod 30 = 0 Then MsgBox "Coucou"

Christophe R
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 109 internautes nous ont dit merci ce mois-ci

Messages postés
261
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
18 mai 2009
3
if Val(Format(Now, "hhmm")) mod 30 = 0 then

marche aussi.

tu as besoin des heures (hh) si non mm veut dire mois...



apres ma reponse, ma question,



Y a-t-il un control qui genere un evenement a heure fixe?

Le timer genere un evenement au bout d'un moment..



Attend, je repond a ma question en la posant!



Si tu regle le timer en fonction de now, tu doit pouvoir le faire.



Je revient
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 109 internautes nous ont dit merci ce mois-ci

Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
31
If (Time * 86400) Mod 1800 = 0 Then Beep

Daniel
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 109 internautes nous ont dit merci ce mois-ci

Messages postés
261
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
18 mai 2009
3
le suivant agit toute les 10 secondes entieres. le probleme, c'est que l'interval ne peut pas etre superieur a 65535.

retour a la case depart



Private Sub Form_Load()

Timer1.Interval = 10000 - (Timer * 1000) Mod 10000

Timer1.Enabled = True



End Sub







Private Sub Timer1_Timer()

Timer1.Interval = 10000

Label2.Caption = Format(Now, "hh:mm:ss") & " " & Timer

End Sub
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 109 internautes nous ont dit merci ce mois-ci

Messages postés
241
Date d'inscription
jeudi 8 janvier 2004
Statut
Membre
Dernière intervention
10 novembre 2005

Laurent: if time = cdate("01:00:00") then instruction
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 109 internautes nous ont dit merci ce mois-ci

Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
31
If (Time * 48) = Fix(Time * 48) then Beep

Daniel
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 109 internautes nous ont dit merci ce mois-ci

Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
18
Salut

Moi je ne m"emm.... pas avec de savants calculs quand je n'y suis pas obligé.
Dabord le timer1.interval = 60000 'toutes les minutes et puis :

Sub Timer1_Timer()
Dim Temps as date
Temps = CDate(Format$(Time, "hh:mm"))
If Minute(Temps) Mod 30 = 0 Then
MsgBox "c'est l'heure"
End If
End Sub

Cordialement, CanisLupus
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 109 internautes nous ont dit merci ce mois-ci

Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
18
Encore plus simple :

If Minute(Now) Mod 30 = 0 Then
MsgBox "c'est l'heure"
End if

Cordialement, CanisLupus
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 109 internautes nous ont dit merci ce mois-ci

Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
18
Et si tu veux la source complète :

Sub Timer1_Timer()
Dim Temps As Date


Temps = Now

If Minute(Temps) Mod 30 = 0 Then
MsgBox CDate(Format$(Temps, "hh:mm"))
End If

End Sub

Si tu veux tester rapidement, remplace 30 par 1, tu auras un essage toutes les minutes.


Cordialement, CanisLupus
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 109 internautes nous ont dit merci ce mois-ci

Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
31
et avec un timer1.interval de 1000 t'auras un message toutes les secondes, comme ça t'es sûr de pas rater ton rendez-vous.

Daniel