Problème avec les "heures"

Signaler
Messages postés
26
Date d'inscription
lundi 3 janvier 2005
Statut
Membre
Dernière intervention
17 février 2005
-
Messages postés
26
Date d'inscription
lundi 3 janvier 2005
Statut
Membre
Dernière intervention
17 février 2005
-
Bonjour tous le monde

Voilà je suis en stage et je développe une petite appli en VB.
Mon problème vient de la gestion des horaires, je m'explique:
j'ai créé 2 combobox avec comme valeur 8h00 - 8h15 - 8h30 - ... -18h00 dans chaque combo.
Lorsque que je veux faire des test entre les deux je ne sais pas comment les convertir en format heure (je ne sais pas si je suis bien clair....). J'ai essayé avec un dtpicker mais le prob du dtpicker est que je n'arrive pas à bloquer les secondes et incrémenter les minutes de 15 en 15 et de le limiter entre 8h00 et 18h00.

voila j'espere etre assez clair pour que vous puissiez me comprendre

seb

8 réponses

Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
27
Essaye un truc du genre
If CDate(Combo1.Text) = CDate(Combo2.Text) Then ...

Christophe R
Messages postés
26
Date d'inscription
lundi 3 janvier 2005
Statut
Membre
Dernière intervention
17 février 2005

Tout d'abord merci pour ta reponse rapide

Lorsque je teste ton code il ya une erreur (erreur 13, type incompatible).

seb
Messages postés
402
Date d'inscription
jeudi 25 novembre 2004
Statut
Membre
Dernière intervention
7 juin 2009
5
Je te suggere de convertir tes heures en nombres entiers (8h53 => 853) ce qui facilitera les comparaisons. Pour ajouter N minutes à une heure, je te propose le code suivant :

Public Sub gsub_Global()
Dim ls_date As String
ls_date = "8h00"
MsgBox gfct_AddNMin(gfct_TimeToInt(ls_date), 75), , ls_date & " + 75mn :"
End Sub


public Function gfct_TimeToInt(a_Time As String) As Integer
lfct_TimeToInt = CInt(Replace(a_Time, "h", ""))
End Function


public Function gfct_AddNMin(a_Time As Integer, a_NbMinutes As Integer) As Integer
Dim li_Minutes As Integer
Dim li_Heures As Integer
li_Minutes = a_Time Mod 100
li_Heures = a_Time \ 100
li_Minutes = li_Minutes + a_NbMinutes
li_Heures = li_Heures + li_Minutes \ 60
li_Minutes = li_Minutes Mod 60
gfct_Add15Min = li_Heures * 100 + li_Minutes
End Function
Messages postés
402
Date d'inscription
jeudi 25 novembre 2004
Statut
Membre
Dernière intervention
7 juin 2009
5
Oups
l'avant dernière ligne c'est (évidemment)
gfct_AddNMin = li_Heures * 100 + li_Minutes
et pas
gfct_Add15Min = li_Heures * 100 + li_Minutes
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
18
Salut,

Si tu tiens abolument à garder l'affichage de tes heures en format "8h00", essaie ce qui suit :

MsgBox CDate(Replace("8h30", "h", ":"))

Ca t'affichera "08:30:00", et ça, c'est du format heure.

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

Si tu tiens abolument à garder l'affichage de tes heures en format "8h00", essaie ce qui suit :

MsgBox CDate(Replace("8h30", "h", ":"))

Ca t'affichera "08:30:00", et ça, c'est du format heure.

Sinon, met directement dans tes combos "8:00", "8:15", etc.... au lieu des "8h00" .... ainsi, avec un simple CDate(tacombo.text) ça devrait marcher.

Cordialement, CanisLupus
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
18
Oups ! Cafouillage, c'est le 2ème post qui le bon.

Cordialement, CanisLupus
Messages postés
26
Date d'inscription
lundi 3 janvier 2005
Statut
Membre
Dernière intervention
17 février 2005

Merci à tous

ca marche

PS: J'ai pris le code CanisLupus, il suffisait simplement de changer le "h" en ":"

encore merci

seb