Formater une plage en horaire
Résolu/Fermé
vieuxray
-
Modifié par vieuxray le 14/07/2014 à 16:47
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 15 juil. 2014 à 14:13
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 15 juil. 2014 à 14:13
A voir également:
- Formater une plage en horaire
- Comment formater un pc - Guide
- Formater clé usb mac - Guide
- Horaire 3x8 exemple - Forum Excel
- Horaire groupe whatsapp - Guide
- Comment faire une liste déroulante dans excel à partir d'une plage nommée ? - Guide
4 réponses
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
14 juil. 2014 à 16:46
14 juil. 2014 à 16:46
Bonjour Ray,
Dans le module de la feuille, essaies :
Dans le module de la feuille, essaies :
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Intersect(Target, [F2:F16]) Is Nothing Then Exit Sub If Not IsNumeric(Target.Value) Then Exit Sub Application.EnableEvents = False Target.Value = (Int(Target.Value / 100) / 24) + _ ((Target.Value Mod 100) / (24 * 60)) Application.EnableEvents = True Target.NumberFormatLocal = "hh""h""mm;@" End Sub
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
15 juil. 2014 à 11:30
15 juil. 2014 à 11:30
Bonjour Ray
Je me suis encore fais piéger par une bizarrerie d'Excel !!!
J'avais oublié que la fonction IsNumeric() considère qu'une cellule vide contient un zéro !
Voici le code modifié :
Je me suis encore fais piéger par une bizarrerie d'Excel !!!
J'avais oublié que la fonction IsNumeric() considère qu'une cellule vide contient un zéro !
Voici le code modifié :
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Intersect(Target, [F2:F16]) Is Nothing Then Exit Sub If Not IsNumeric(Target.Value) Then Exit Sub If Target.Formula = "" Then Exit Sub Application.EnableEvents = False Target.Value = (Int(Target.Value / 100) / 24) + _ ((Target.Value Mod 100) / (24 * 60)) Application.EnableEvents = True Target.NumberFormatLocal = "h""h""mm;@" End Sub
Salut Patrice33740,
Tout d'abord merci de t'etre interresser a mon post, et merci pour le code.
j'ai essayer ca fonctionne bien, mais quand je tape 0155 il m'écrit bien 1h55 ça OK
mais en supposant que je me sois tromper alors j'efface la cellule et ca me laisse des zéros ecrit comme suit 0h00
quand j'efface je souhaiterai svp effacer toute la cellule et entrer une nouvelle valeur
Encore merci pour ton aide
Cordialement Ray
Tout d'abord merci de t'etre interresser a mon post, et merci pour le code.
j'ai essayer ca fonctionne bien, mais quand je tape 0155 il m'écrit bien 1h55 ça OK
mais en supposant que je me sois tromper alors j'efface la cellule et ca me laisse des zéros ecrit comme suit 0h00
quand j'efface je souhaiterai svp effacer toute la cellule et entrer une nouvelle valeur
Encore merci pour ton aide
Cordialement Ray
Salut Patrice33740,
Merci bien pour ta réponse et pour la modification.
ça fonctionne bien comme souhaiter et je te remercie
beaucoup pour ton aide que j'ai beaucoup apprécier.
Je clos donc le sujet avec encore pleins de merci, bonnnes
vacances si tu part et a bientot sans doute.
Bye, Bien cordialement Raymond
Merci bien pour ta réponse et pour la modification.
ça fonctionne bien comme souhaiter et je te remercie
beaucoup pour ton aide que j'ai beaucoup apprécier.
Je clos donc le sujet avec encore pleins de merci, bonnnes
vacances si tu part et a bientot sans doute.
Bye, Bien cordialement Raymond
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
15 juil. 2014 à 14:13
15 juil. 2014 à 14:13
De rien, au plaisir de te relire sur le Forum.
Cordialement
Patrice (actuellement en vacances!!!)
Cordialement
Patrice (actuellement en vacances!!!)
14 juil. 2014 à 16:53
pour supprimer le 0 de 0144, il faut remplacer :
.
par
.