Format hh:mm dans textbox
Résolu
nimbus23
Messages postés
10
Date d'inscription
Statut
Membre
Dernière intervention
-
Le Pingou Messages postés 12250 Date d'inscription Statut Contributeur Dernière intervention -
Le Pingou Messages postés 12250 Date d'inscription Statut Contributeur Dernière intervention -
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.
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:
- Format hh:mm dans textbox
- Format epub - Guide
- Format factory - Télécharger - Conversion & Codecs
- Hp usb disk storage format tool - Télécharger - Stockage
- Format apfs - Guide
- Format bin - Guide
5 réponses
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.
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.
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
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
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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é
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é