écart de dates négatif et calendrier 1904

  • Initiateur de la discussion Initiateur de la discussion vierri
  • 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 !

vierri

XLDnaute Nouveau
Bonjour,
j'essaye de calculer correctement l'écart entre 2 dates/heures, en pouvant gérer des écart négatifs.

-Avec le calendrier "1900" :
écarts positifs corrects, mais pas d'affichage de écarts négatifs.

-Avec le calendrier "1904" :
les écarts positifs ou négatifs sont bien affichés, mais il est systématiquement ajouté 1 jour au résultat.

Quelqu'un a déja eu ce genre de problème ?
 
Re : écart de dates négatif et calendrier 1904

Bonjour,

C'est lié au fait que le calendrier 1900 commence le 00/01/1900 alors que le calendrier 1904 commence le 01/01/1904.

Pour le vérifier, tu tapes 0 dans une cellule et tu formate en jj/mm/aaaa.
En modifiant les differerents calendrier tu obtiens les 2 dates de début.

Rajoutes 1 jours en 1904 ...

Cette formule gère les 2 calendriers :
=SI(DATEVAL("01/01/1904");B5-B6;B5-B6-1)
 
Dernière édition:
Re : écart de dates négatif et calendrier 1904

Bonjour, salut Catrice,

Il y a peut-être une autre raison.

Le fait que le calendrier 1900 considère le 29/02/1900 comme jour existant, alors que l'année 1900 n'est pas bissextile, il peut il y avoir un décalage d'un jour.
 
Re : écart de dates négatif et calendrier 1904

Re-bonjour,
je demande à nouveau de l'aide, parce que je là, je coince pas mal...

Les 2 dates à comparer sont en I12 et I13.

* si je demande I12-I13 (résultat au format j "jours" hh:mm:ss):
le résultat a systématiquement un jour de plus en valeur absolue

* si je demande I12-I13-SIGNE(I12-I13)*"24:00:00" :
le résultat n'est bon que pour les écarts >1 jour ou <-1 jour

* si je demande =SI(ET(I12-I13>=-1;I12-I13<=1);I12-I13;I12-I13-SIGNE(I12-I13)*"24:00:00")
les résultats sont bons, sauf que pour un écart inférieur à un jour, il me note toujours "1 jour 14:32:00" au lieu de "0 jour 14:32:00" par exemple

* J'ai essayé en plus d'appliquer le format suivant à la cellule, de manière à masquer le nombre de jours s'il est inférieur à un :
[>1]j "jours" hh:mm:ss;[<-1]-j "jours" hh:mm:ss;hh:mm:ss

Mais ça ne marche toujours pas car le formatage s'applique une fois la formule calculée, et le nombre de jours ne s'affiche plus pour des écarts entre 1 et 2 jours ...

... là j'arrive à saturation, si quelqu'un pouvait m'aider, je lui en serait très reconnaissant!
 
Re : écart de dates négatif et calendrier 1904

oui merci, mais je ne vois pas en quoi ça devrait m'avancer.
Je sais que les 2 types de calendrier se comportent différemment, tout ce que je souhaite c'est pouvoir afficher correctement une durée au format "j hh:mm:ss" positive ou négative, inférieure ou supérieure à 1 jour
 
Re : écart de dates négatif et calendrier 1904

Bonjour,

Je dirais qu'apparemment c'est impossible à réaliser tel quel.
En effet, il ne semble pas possible de lui faire afficher un nombre de jour égal à zéro, c'est soit +1 soit -1, mais jamais zéro !!

Ne peux-tu utiliser un afichage en mode texte, plutôt qu'en durée ?
Ca donnerait un truc (pas très simple) du genre :
=SI((I12-I13)<0;"-";"") & ENT(ABS(I12-I13)) & " jours " & TEXTE(MOD(ABS(I12-I13);1);"hh:mm")
Le problème c'est que tu ne pourras bien sûr utiliser le résultat pour effectuer des calculs... 🙁
 
Dernière édition:
Re : écart de dates négatif et calendrier 1904

Bonjour vierri,

J'avais tenté de l'expliquer dans mon Post #3.
As-tu pu tester ?

Pour être précis, tu fais une différence entre 2 dates qui donne une valeur que tu affiches au format date. Le probleme c'est qu'en calendrier 1904 ça ne se passe pas comme on voudrait.

En effet :
>> En calendrier 1900 :
28/08/2009 14:00 - 27/08/2009 15:00 donne 0 jours 23:00:00 (23:00 depuis l'origine)
En realité :
40053.58333 - 40052.625 = 0.958333333
40053.58333 est le nombre de jours depuis le 0 janvier 1900 (avec les vingh-quatrièmes)
La soustraction des 2 donne un nombre de jours à partir du 0 janvier 1900 , ici 0.958333333.
Coup de bol, comme le format 1900 commence à zéro (cf. Post #3) en appliquant le format date de base on obtient un nombre de jours, heures etc ...

>> En calendrier 1904 avec les memes dates, on a :
38591.58333 - 38590.625 = 0.958333333
38591.58333 est le nombre de jours depuis le 1 janvier 1904
On n'a pas les memes valeurs pour les dates (4 ans de décalage) mais on trouve la meme chose pour l'ecart (heureusement 😉)

0.958333333 (qui est le nombre de jour depuis 01/01/1904) = 01/01/1904 23:00
On a bien + 23:00 par rapport à la date d'origine qui est 01/01/1904.

En calendrier 1900 on peut utiliser le format pour faire ce que tu souhaites car l'origine est zéro janvier 1900 => 0 => 00/01/1900 00:00.
En calendrier 1904 on ne peut pas car l'origine est permier janvier 1904 => 0 => 01/01/1904 00:00.

Il faut donc passer par une formule comme celle de Marcel32 ...
 
Dernière édition:
Re : écart de dates négatif et calendrier 1904

Merci pour vos explications.

Il est donc impossible sous excel d'afficher une durée exprimée en jours pouvant etre négative.
Il n'y a pas de bricole possible, à part convertir le résultat en texte.

D'ailleurs merci pour la formule 😉, je vais calculer mon résultat en heures (pour pouvoir le réutiliser) et également l'afficher à coté en jours (format texte, pour indication).
 
- 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
5
Affichages
1 K
Retour