Renvoi en aa/mm/jj de la différence entre 2 dates

  • Initiateur de la discussion Didier51
  • Date de début
D

Didier51

Guest
Bonjour le forum

Je cherche à récupérer sous le format jours/mois/années la différence entre 2 dates

ex : Entre aujourd'hui et le 07/01/2005 il y a 449 jrs, au format 'jj/mm/aa', excel me renvoit
24/03/01 ce qui est faut

Quelqu'un a t'il une solution ?

Merci

Didier
 

Gérard DEZAMIS

XLDnaute Accro
Bonjour Didier
La différence entre deux dates est un nombre ici
449 ce qui correspond bien au 24 mars 1901 (449° jour depuis le décompte des dates type excel)

Il te suffit de mettre le format du résultat en Standart ou nombre pour obtenir le résultat souhaité

@+GD

Edition : si tu veux avoir une différence sous la forme x année, y mois et z jours il faut utiliser la formule datedif

Message édité par: Gérard DEZAMIS, à: 01/04/2006 08:51
 

Tibo

XLDnaute Barbatruc
Salut Didier,

La fonction Datedif est une fonction dont l'aide est cachée (ou non accessible directement) :

pour l'obtenir, tu tapes :

=DATEDIF(

et aussitôt tu cliques sur le = à gauche de la barre de formule et tu demandes de l'aide sur cette fonction.

Ca te donne ceci :

DATEDIF
Voir aussi

Calcule le nombre de jours, de mois ou d'années séparant deux dates. Cette fonction est fournie pour assurer une compatibilité avec Lotus 1-2-3.

Syntaxe

DATEDIF(date_début,date_fin,unité)

Date_début est une date qui représente la première date, ou date de début, de la période. Les dates peuvent être entrées sous forme de chaînes de caractères délimitées par des guillemets (par exemple, '30/1/2001'), sous forme de numéros de série (par exemple, 36921, qui représente le 30 janvier 2001, si vous utilisez le format de calendrier depuis 1900), ou sous forme de résultats d'autres formules ou fonctions (par exemple, DATEVAL('30/1/2001')). Pour plus d'informations sur les dates exprimées sous forme de numéros de série, consultez MAINTENANT.

Date_fin est une date qui représente la dernière date, ou date de fin, de la période.

Unité est le type d'informations qui doit être renvoyé.

Unité Renvoie
'A' Le nombre d'années entières comprises dans la période.
'M' Le nombre de mois entiers compris dans la période.
'J' Le nombre de jours compris dans la période.
'MJ' La différence entre les jours de date_début et date_fin. Les mois et les années des dates ne sont pas pris en compte.
'AM' La différence entre les mois de date_début et date_fin. Les jours et les années des dates ne sont pas pris en compte.
'AJ' La différence entre les jours de date_début et date_fin. Les années des dates ne sont pas prises en compte.


Remarques

Microsoft Excel stocke les dates sous forme de numéros de série séquentiels de façon à pouvoir effectuer des calculs portant sur ces dates. Excel stocke le 1er janvier 1900 sous forme du numéro de série 1 si votre classeur utilise le format de calendrier depuis 1900. Si votre classeur utilise le calendrier depuis 1904, Excel stocke le 1er janvier 1904 sous forme du numéro de série 0 (le 2 janvier 1904 est le numéro de série 1). Par exemple, dans le système de calendrier depuis 1900, Excel stocke le 1er janvier 1998 sous forme du numéro de série 35796 étant donné que 35 795 jours se sont écoulés depuis le 1er janvier 1900. Obtenir plus d'informations sur la façon dont Microsoft Excel stocke les dates et les heures.


Excel pour Windows et Excel pour Macintosh utilisent des bases annuelles différentes par défaut. Pour plus d'informations, consultez MAINTENANT.
Exemples

DATEDIF('1/1/2001','1/1/2003','A') égale 2, c'est-à-dire deux années entières dans la période.

DATEDIF('1/6/2001','15/8/2002','J') égale 440, c'est-à-dire 440 jours entre le 1er juin 2001 et le 15 août 2002.

DATEDIF('1/6/2001','15/8/2002','AJ') égale 75, c'est-à-dire 75 jours entre le 1er juin et le15 août, sans tenir compte des années des dates.

DATEDIF('1/6/2001','15/8/2002','MJ') égale 14, c'est-à-dire la différence entre 1 et 15 — le jour de date_début et le jour de date_fin — sans tenir compte des mois et des années des dates.


Bonne lecture

@+
 

pierrejean

XLDnaute Barbatruc
bonjour tous

je vous propose 2 fonctions personnelles etudiées deja depuis un certain temps pour obtenir l'age à ce jour et une difference de dates adaptée de la precedente
pour repondre à Didier51 j'ai modifié la resultante de cette derniere (en laissant le format initial) [file name=dates_20060401110233.zip size=9678]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/dates_20060401110233.zip[/file]
 

Pièces jointes

  • dates_20060401110233.zip
    9.5 KB · Affichages: 34
A

AV

Guest
Puisqu'on est dans les dateDif, une contribution (Un seule ligne d'instructions ! ):

Function DATDIF(Déb As Date, Fin As Date)
DATDIF = Evaluate('TRIM(IF(' & Fin * 1 & '-' & Déb * 1 & ', TEXT(DATEDIF(' & Déb * 1 & ',' & Fin * 1 & ',''y''),''[>1]0'''' ans'''';[>]''''1 an'''';'')&TEXT(DATEDIF(' & Déb * 1 & ',' & Fin * 1 & ',''ym''),''[>] 0'''' mois ''''; '')&TEXT(DATEDIF(' & Déb * 1 & ',' & Fin * 1 & ',''md''),''[>1]0'''' jours'''';[>]''''1 jour'''';''),''0 jour''))')
End Function



AV [MVP Excel]
 

Discussions similaires