Autres Ventilation d'heures en Jours heures et minutes

Caninge

XLDnaute Impliqué
bonjour à tous,

En ce moment difficile, je voudrais exprimer ma plus grande sympathie à tous les personnels soignants, des services d'ordre, des gens qui sont obligés de travailler
pour nous fournir en alimentation sans oublier tous les autres services de fonctionnement. UN GRAND BRAVO !

Confinement oblige je me suis fait un tableau pour connaitre en jours heures minutes la durée en deux dates.

Merci de m'aider

Bon courage à tous.
 

Fichiers joints

dg62

XLDnaute Barbatruc
Bonjour Caninge
il y a surement plus simple (pour B5)
VB:
=B5&" est confiné depuis "& ENT($D$1-C5) &" jours "& ENT((($D$1-C5)-ENT($D$1-C5))*24 )& " heures et "
 
Dernière édition:

dg62

XLDnaute Barbatruc
VB:
&ENT((((($D$1-C4)-ENT($D$1-C4))*24)-ENT((($D$1-C4)-ENT($D$1-C4))*24))*60)&" minutes"
 

dg62

XLDnaute Barbatruc
La deuxième partie est basée sur B4 alors que la première est sur B5

Formule complète pour E4
VB:
=B4&" est confiné depuis "&ENT($D$1-C4)&" jours "&ENT((($D$1-C4)-ENT($D$1-C4))*24)&" heures et "&ENT((((($D$1-C4)-ENT($D$1-C4))*24)-ENT((($D$1-C4)-ENT($D$1-C4))*24))*60)&" minutes"
 
Dernière édition:

jmfmarques

XLDnaute Accro
Bonjour
- je n'ouvre jamais un classeur tiers
- ma réponse avec un exemple (date début en A1 et date fin en B1
Formule en C1 :
VB:
=ENT(B1-A1) & " j " & TEXTE(B1-A1;"h  \h mm")
EDIT / et même ainsi :
VB:
= TEXTE(B1-A1;"j \j h  \h mm \m")
Mais je trouve assez optimiste de ne pas prévoir de compter également en mois :cool:
 
Dernière édition:

Caninge

XLDnaute Impliqué
Bonjour à jmfmarques.

Vous n'ouvrez jamais un fichier c'est cela. Je voulais savoir pourquoi ?
Vous avez raison, il faudra peut-être rajouter dans la formule "mois". Je n'espère pas...

c'est bon pour la réponse dg62.

merci et à bientôt
 

jmfmarques

XLDnaute Accro
Vous n'ouvrez jamais un fichier c'est cela. Je voulais savoir pourquoi ?
Pour des raisons (celles que j'estime) de sécurité. On ne les partage pas forcément ? Peut-être. Elles sont toutefois les miennes (comme, d'ailleurs, est la mienne, ma machine .. .)
Ceci étant : lorsqu'il m'arrive de demander un conseil à tel ou tel autre homme de l'art, je ne discute pas les conditions qu'il met à l'apport de son aide.;)
 
Dernière édition:

jmfmarques

XLDnaute Accro
Bon après-midi à toi également.
Pour t'y aider, v'la les mois :
VB:
= TEXTE(B1-A1;"m \moi\s j \jour\s h  \h  mm \m")
Tu ne crois pas qu'il serait également prudent d'aller jusqu'aux années, avec ce conn...ard de virus ?
 

dg62

XLDnaute Barbatruc
et pour les mois sans aller jusque l'année...

VB:
=SI(DATEDIF(C4;$D$1;"ym")<1;B4&" est confiné depuis "&ENT($D$1-C4)&" jours "&ENT((($D$1-C4)-ENT($D$1-C4))*24)&" heures et "&ENT((((($D$1-C4)-ENT($D$1-C4))*24)-ENT((($D$1-C4)-ENT($D$1-C4))*24))*60)&" minutes";B4&" est confiné depuis "&DATEDIF(C4;$D$1;"ym")&" mois "&DATEDIF(C4;$D$1;"md")& " jours "&ENT((($D$1-C4)-ENT($D$1-C4))*24)&" heures et "&ENT((((($D$1-C4)-ENT($D$1-C4))*24)-ENT((($D$1-C4)-ENT($D$1-C4))*24))*60)&" minutes")
 

Modeste geedee

XLDnaute Barbatruc
Bonsour®
VB:
= TEXTE(B1-A1;"m \moi\s j \jour\s h  \h  mm \m")
o_O Utiliser un format de date pour une durée n'est pas adéquat sachant qu'il n'y a pas de mois "0"
et que 12 mois et x jours font plus un an

:cool:
=ANNEE(B1-A1)-1900 & " a(s) " & MOIS(B1-A1)-1 & " m " & JOUR(B1-A1) & " j(s)"

;)on pourra éventuellement compliquer la formule en testant les valeurs respectives égales à 0
pour optimiser l'affichage et gérer les pluriels

:mad:D'aucuns ici savent ce que je pense de cette façon d'utiliser les années et mois en tant que unités mathématiques alors que ce ne sont pas des constantes !!!
 
Dernière édition:

jmfmarques

XLDnaute Accro
Bonjour Modeste geedee
Il est en effet bien de mettre cet aspect en exergue.
Mais il s'agit en l'occurrence de la volonté de déterminer une durée calendaire (un peu comme l'âge) et non une durée temporelle, du type que l'on doit utiliser dans des formules de calcul (salaires, etc...). Le résultat est donc, comme tu le constates, une chaîne de caractères et non une valeur numérique ;)
Tu comprendras parfaitement la différence en comparant ce confinement avec une peine d'emprisonnement, qui est elle également exprimée en durée calendaire et non temporelle.
 

jmfmarques

XLDnaute Accro
Ouille. je n'avais pas remarqué cette faille.
Il va alors s'avérer difficile de déterminer une durée calendaire incluant les heures et minutes. On peut tenter de "panacher" avec l'utilisation de DATEDIF, mais je crois me rappeler qu'il y a également une faille avec cette fonction cachée de Excel.

EDIT : Après recherches -->> confirmation d'un bug avec la fonction DATEDIF et la version Office 2007 !
Bon --->> je vais tenter dans ces conditions d'incertitude (je n'aime pas les bugs qui peuvent revenir quand on ne les attend plus; et encore moins lorsqu'ils concernent une fonction depuis masquée par Excel) de construire une fonction personnalisée/ durée calendaire (en espérant ne pas créer moi-même un bug dans la foulée).
Je reviendrai plus tard
 
Dernière édition:

jmfmarques

XLDnaute Accro
Des nouvelles de l'avancement :
Il semble (j'ai encore des tests à faire) que j'ai passé avec succès l'étape de la durée calendaire calculée en Année(s), mois et jour(s) sans utiliser la fonction DATEDIF de Excel, ni la fonction Datediff de VBA. Pour résumer : comme on le ferait manuellement (à l'école, par exemple): en comparant les 3 unités et en modidiant les unités en amont en cas de valeurs comparées justifiant un passage à l'unité inférieure (par exemple : si jour_calendaire_fin < jour_calendaire_début, le mois calendaire est à diminuer de 1 unité, etc ;..)
J'ai choisi de garder le raisonnement manuel dans le but, précisément, d'éviter des bugs de calculs plus "automatiques".

Je ne saurai que je ne me suis pas trompé qu'après un nombre important de tests (cela va me prendre du temps)

Se poseront ensuite des problèmes de même nature pour aller au-delà des joujrs (heures, minutes et secondes). Hé oui : 1 seule seconde de moins peut entraîner la réduction de tout ou partie des autres unités en amont.
Je continuerai demain.
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas