Problème avec les "heures"

sreb Messages postés 26 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 17 février 2005 - 11 janv. 2005 à 11:36
sreb Messages postés 26 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 17 février 2005 - 12 janv. 2005 à 10:13
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

crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 29
11 janv. 2005 à 13:19
Essaye un truc du genre
If CDate(Combo1.Text) = CDate(Combo2.Text) Then ...

Christophe R
0
sreb Messages postés 26 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 17 février 2005
11 janv. 2005 à 13:50
Tout d'abord merci pour ta reponse rapide

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

seb
0
mrdep1978 Messages postés 402 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 7 juin 2009 6
11 janv. 2005 à 14:40
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
0
mrdep1978 Messages postés 402 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 7 juin 2009 6
11 janv. 2005 à 16:06
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 18
11 janv. 2005 à 19:04
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
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 18
11 janv. 2005 à 19:06
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
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 18
11 janv. 2005 à 19:08
Oups ! Cafouillage, c'est le 2ème post qui le bon.

Cordialement, CanisLupus
0
sreb Messages postés 26 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 17 février 2005
12 janv. 2005 à 10:13
Merci à tous

ca marche

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

encore merci

seb
0