Format hh:mm dans textbox

Résolu/Fermé
nimbus23 Messages postés 10 Date d'inscription dimanche 16 mars 2008 Statut Membre Dernière intervention 21 juin 2011 - 30 nov. 2010 à 11:00
Le Pingou Messages postés 12046 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 26 avril 2024 - 7 déc. 2010 à 22:21
Bonjour,

Aprés de nombreuses recherches, je n'est pas résolu mon problème.
J'ai un textbox dans un userform ou je rentre des heures au format numérique Ex:2300 et elle sont automatiquement transformé en 23:00. Jusque la no problème. ou cela se corse c'est que quand je tape 2400 il me met 00:00 alors que que je voudrais 24:00. Comment faire?
Ci dessous les macros :

Private Sub conversionHeure(ctlTextBox As MSForms.TextBox)
'Convertir les texte des textBox en heure minutes
Dim heures As Byte, minutes As Byte

'Heures = les deux chiffres de gauche
heures = Val(Left(ctlTextBox.Text, 2))

'minutes= les deux chiffres de droites
minutes = Val(Right(ctlTextBox.Text, 2))

'conversion
ctlTextBox.Text = Format(TimeSerial(heures, minutes, 0), ("hh:mm"))

End Sub
Private Sub TextBox1_Change()
If Len(TextBox1) = 4 Then
conversionHeure TextBox1

TextBox2.SetFocus
End If
End Sub

Private Sub TextBox2_Change()
If Len(TextBox2) = 4 Then
conversionHeure TextBox2

CommandButton2.SetFocus
End If
End Sub

merci à vous tous.

A voir également:

5 réponses

Le Pingou Messages postés 12046 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 26 avril 2024 1 427
30 nov. 2010 à 18:00
Bonjour,
Petite remarque concernant la fonction [TimeSerial] :
Pour exprimer une heure déterminée, par exemple 11:59:59, vous devez utiliser la plage de valeurs normalement autorisées pour chaque argument de la fonction TimeSerial ; c'est-à-dire, entre 0 et 23 pour les heures et entre 0 et 59 pour les minutes et les secondes
Donc pour 2400 vous aurez 00:00 / 2401 ---> 00:01 etc.
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
Modifié par eriiic le 30/11/2010 à 23:08
Bonsoir,

erreur...
eric
0
nimbus23 Messages postés 10 Date d'inscription dimanche 16 mars 2008 Statut Membre Dernière intervention 21 juin 2011
4 déc. 2010 à 21:48
Bonsoir,

Ok pour la réponse mais ce ne me dit pas comment faire. si quelqu'un a une idée je suis preneur. En attendant j'ai contourner le problème par une formule dans ma feuille excel

Merci à tous
0
Le Pingou Messages postés 12046 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 26 avril 2024 1 427
Modifié par Le Pingou le 5/12/2010 à 00:09
Bonjour,
Si vous voulez vraiment afficher 24:00 vous devez les formater en texte et non pas en heure car si en heure le 24:00 est automatiquement affiche en 00:00.
Je pense que vous le savez, l'heure est en fait la partie décimale d'un nombre et la partie entière représente les dates.
Le nombre 40517.476041667:
40517 ---- 5 décembre 2010
0.476041667 ---- 11:25:30
Et si vous expliquez pourquoi vous désirez avoir cet affichage ?
Salutations.
Le Pingou
0

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

Posez votre question
nimbus23 Messages postés 10 Date d'inscription dimanche 16 mars 2008 Statut Membre Dernière intervention 21 juin 2011
7 déc. 2010 à 13:16
Bonjour Le Pingou

J'ai un tableau de suivi d'heures supplémentaires et mes formules excel calculent automatiquement les HS1, HS2, HS3, HS jour férié, HS dimanche, HS de nuit ect... suivant l'heure de fin de travail normal qui n'est pas la meme tous les jours de la semaine suivant les agents. C'est pour cela que je veux afficher 24:00 (pour la fin de la journée) et non 00:00(début de la journée).
Il est vrai que j'ai contourné le problème par une formule qui si l'heure de fin est = à 00:00 alors l'affichage sera 24:00.

Je vous remerci pour l'aide apporté
0
Le Pingou Messages postés 12046 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 26 avril 2024 1 427
7 déc. 2010 à 22:21
Bonjour,
Juste une petite note, si vous prenez soin de tenir compte du jour et de l'heure se sera plus simple de déterminer les HS.
De cette façon une simple soustraction entre la fin - début vous donne le nombre d'heure HS.
Salutations.
Le Pingou
0