XL 2019 Convertir des jours et heures

  • Initiateur de la discussion Initiateur de la discussion netparty
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

netparty

XLDnaute Occasionnel
Re Bonjour à tous

Un tout grand merci à vous tous pour m'avoir apporté votre aide

J'ai encore une petite question.

J'aimerais pouvoir tenir compte d'une journée de travail de 8h donc si le début est à 23/02/2021 09:00:00 et la fin à 24/02/2021 09:00:00 le résultat ne doit pas être 24h.
Sima journée de travail est de 8 à 16h le 23/2 j'ai effectué 6h et le 24/2 j'ai effectué 1h donc au total j'ai 7h de travail.



Merci
 

Pièces jointes

Dernière édition:
Bonjour
une petite fonction perso pour te simplifier la tache
VB:
Function TimeToCumulHour(cel As Range) As Double
t = Split(Replace(Replace(cel, " jours ", ","), ":", ","), ",")
t(0) = (Val(t(0)) * 24) + Val(t(1))
TimeToCumulHour = (t(0) & IIf(UBound(t) = 2, "," & t(2), "")) * 1
End Function
dans ta cellule D2 tu met cette formule
=TimeToCumulHour(C2)
et tu étends ta formule vers le bas
bien sur tu peux ajouter une condition (SI) pour ne pas avoir a gerer le vide
=SI(C2<>"";TimeToCumulHour(C2);"")

résultat
demo7.gif
 
re
je m’énerve par ce que bien trop souvent je suis repris avec des arguments poubelles
et ça me gonfle alors réfléchissez un peu avant de vouloir corriger les autres
si ta remarque avait été cohérente je l'aurais accepté volontiers
@chris
en VBA ça donne cela
VB:
Sub test2()
MsgBox timeToCumulHour2([A3], [B3])
End Sub
Function timeToCumulHour2(cel1 As Range, cel2 As Range) As Double
Dim x#
x = Abs(CDate(cel1) - CDate(cel2))
timeToCumulHour2 = Application.Text(x, "[hh],mm")
End Function
 
re
je m’énerve par ce que bien trop souvent je suis repris avec des arguments poubelles
et ça me gonfle alors réfléchissez un peu avant de vouloir corriger les autres
si ta remarque avait été cohérente tu je l'aurais accepté volontiers
Désolé de t'avoir froissé, ce n’était aucunement une correction quelconque,
je m'étonnais juste que toi tu ais utilisé autant de replace ... 🤔 ( mais à seconde vue, c'est pertinent )

En fait, j'étais parti dans la même direction que ton code :
VB:
Function NbHours(celref As Range) As Double
    H = Split(celref, " jours "): M = Split(H(1), ":")
    NbHours = M(0) + (H(0) * 24) + M(1) / 100
End Function

Ce qui revient au même, je n'apporte rien de plus, la proposition de @chris est la meilleure .
 
re
a ben voila au moins la c'est réfléchi ca fait plaisir
je m'étonnais juste que toi tu ais utilisé autant de replace ... 🤔 ( mais à seconde vue, c'est pertinent )
et pose toi la question pourquoi je fait 2 replace
d’après toi quelle en est la raison

et pour la proposition de @chris oui et non
pourquoi
et bien par ce que si je veux faire des calculs avec la donnée je vois le cumul des heure mais la valeur ne l'ai pas

exemple si je veux par exemple ajouter 2 heures en E2
=D2+2 en formule je me retrouve avec 240,16 soit deux jours de plus
il faut faire = d2+(2/24) pour avoir 194,16


tandis qu'avec ma fonction perso j'ai bien un nombre de type double je fait =d2+2 et j'ai bien 194,16

comme quoi une question en cache plusieurs autres des fois

dont on réfléchi un peu plus longuement sur les potentiels aboutissants
vu!! 😉
 
Dernière édition:
Bonjour à tous

Un tout grand merci à vous tous pour m'avoir apporté votre aide

J'ai encore une petite question.

J'aimerais pouvoir tenir compte d'une journée de travail de 8h donc si le début est à 23/02/2021 09:00:00 et la fin à 24/02/2021 09:00:00 le résultat ne doit pas être 24h.
Sima journée de travail est de 8 à 16h le 23/2 j'ai effectué 6h et le 24/2 j'ai effectué 1h donc au total j'ai 7h de travail.

Bonne fin de journée
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
6
Affichages
674
Réponses
3
Affichages
498
Retour