Excel : calcul de la différence entre 2 dates
Résolu/Fermé
patrick1870
Messages postés
63
Date d'inscription
dimanche 23 novembre 2014
Statut
Membre
Dernière intervention
6 juin 2024
-
24 janv. 2021 à 02:50
patrick1870 Messages postés 63 Date d'inscription dimanche 23 novembre 2014 Statut Membre Dernière intervention 6 juin 2024 - 24 janv. 2021 à 20:38
patrick1870 Messages postés 63 Date d'inscription dimanche 23 novembre 2014 Statut Membre Dernière intervention 6 juin 2024 - 24 janv. 2021 à 20:38
A voir également:
- Excel : calcul de la différence entre 2 dates
- Liste déroulante excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
- Mise en forme conditionnelle excel - Guide
7 réponses
Sylv-1
Messages postés
55
Date d'inscription
lundi 28 décembre 2020
Statut
Membre
Dernière intervention
27 janvier 2024
9
24 janv. 2021 à 06:07
24 janv. 2021 à 06:07
Bonjour Patrick,
Pas de souci pour la longueur du post... tout est très clair dans vos explications.
Sujet très intéressant...
J’espère que quelqu’un nous ouvrira une piste.
Pas de souci pour la longueur du post... tout est très clair dans vos explications.
Sujet très intéressant...
J’espère que quelqu’un nous ouvrira une piste.
PapyLuc51
Messages postés
4412
Date d'inscription
dimanche 3 mai 2009
Statut
Membre
Dernière intervention
26 novembre 2024
1 447
Modifié le 24 janv. 2021 à 07:50
Modifié le 24 janv. 2021 à 07:50
Salut à tous les deux
Pour obtenir le nombres de jours restant entre deux dates il faut utiliser la même formule que pour les années et les mois avec l'indice "md" =DATEDIF(D17;E17;"md") ce qui donne bien 5 jours pour les dates indiquées dans la question,
3 si on met la date de début au 3/1/2014
23 jours si la date de début est 13/3/2014
C'est une simple soustraction car les dates dans Excel sont des nombres ;
pour les mêmes dates 1/1/2014 et 6/5/2016 la formule =DATEDIF(D17;E17;"d") donne 856 jours ;
si on transforme les dates au format nombre sans les décimales ça donne 42496-41640 soit 856
Si on veux compter les deux extrémités il faut ajouter 1 jour ; par exemple la différence entre le 1/1/2021 et AUJOURDHUI() soit 24/1/2021 est de 23 jours donc +1 si on veut 24
Sinon une autre formule pour le nombre de jours
Cordialement
Pour obtenir le nombres de jours restant entre deux dates il faut utiliser la même formule que pour les années et les mois avec l'indice "md" =DATEDIF(D17;E17;"md") ce qui donne bien 5 jours pour les dates indiquées dans la question,
3 si on met la date de début au 3/1/2014
23 jours si la date de début est 13/3/2014
C'est une simple soustraction car les dates dans Excel sont des nombres ;
pour les mêmes dates 1/1/2014 et 6/5/2016 la formule =DATEDIF(D17;E17;"d") donne 856 jours ;
si on transforme les dates au format nombre sans les décimales ça donne 42496-41640 soit 856
Si on veux compter les deux extrémités il faut ajouter 1 jour ; par exemple la différence entre le 1/1/2021 et AUJOURDHUI() soit 24/1/2021 est de 23 jours donc +1 si on veut 24
Sinon une autre formule pour le nombre de jours
=E17-MOIS.DECALER(D17;DATEDIF(D17;E17;"m"))ce qui donne 5 et ce nombre change si la date de début est changée
Cordialement
patrick1870
Messages postés
63
Date d'inscription
dimanche 23 novembre 2014
Statut
Membre
Dernière intervention
6 juin 2024
11
Modifié le 24 janv. 2021 à 16:46
Modifié le 24 janv. 2021 à 16:46
Bonjour papyluc et merci pour ta réponse (je suis papy comme toi ;) )
Je n'ignorais pas l'option "md" de datediff ... je la mentionne dans dans mon post ...
mais Microsoft recommande de ne pas l'utiliser car elle retourne parfois des valeurs fausses
J'ai pu le vérifier mais je ne me rappelle pas dans quelles circonstances.
L'autre solution que tu proposes m'intéresse, même si je ne la comprends pas totalement pour le moment (je suis un débutant dans les formules Excel autres que les basiques et cette fonction MOIS.DECALER m'est totalement inconnue).
Encore merci pour ton aide.
Cdlt
Patrick
Je n'ignorais pas l'option "md" de datediff ... je la mentionne dans dans mon post ...
mais Microsoft recommande de ne pas l'utiliser car elle retourne parfois des valeurs fausses
J'ai pu le vérifier mais je ne me rappelle pas dans quelles circonstances.
L'autre solution que tu proposes m'intéresse, même si je ne la comprends pas totalement pour le moment (je suis un débutant dans les formules Excel autres que les basiques et cette fonction MOIS.DECALER m'est totalement inconnue).
Encore merci pour ton aide.
Cdlt
Patrick
PapyLuc51
Messages postés
4412
Date d'inscription
dimanche 3 mai 2009
Statut
Membre
Dernière intervention
26 novembre 2024
1 447
>
patrick1870
Messages postés
63
Date d'inscription
dimanche 23 novembre 2014
Statut
Membre
Dernière intervention
6 juin 2024
Modifié le 24 janv. 2021 à 18:20
Modifié le 24 janv. 2021 à 18:20
On décale une date d'autant de mois de l'on veut (en + ou en -) pour déterminer une nouvelle date à soustraire de la date de fin ce qui donne le nombre de jours restant
Dans cette formule on détermine le nombre de mois avec DATEDIF pour avoir des mois entiers ce qui fait 28 (1/1/2014 + 28 mois donne 1/5/2016) que l'on soustrait à la date de fin 6/5/2016 =5 jours
Cordialement
Dans cette formule on détermine le nombre de mois avec DATEDIF pour avoir des mois entiers ce qui fait 28 (1/1/2014 + 28 mois donne 1/5/2016) que l'on soustrait à la date de fin 6/5/2016 =5 jours
Cordialement
eriiic
Messages postés
24601
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 novembre 2024
7 243
Modifié le 24 janv. 2021 à 12:13
Modifié le 24 janv. 2021 à 12:13
Bonjour,
pour moi la question est triviale et n'a pas de réponse exacte.
Prenons un exemple simple :
du 28/02/2021 au 01/04/2021, tout le monde est d'accord, ça fait 1 mois et 2 jours
Prenons maintenant du 02/02/2021 au 28/04/2021
La seule réponse exacte est 1 mois et 55 jours, mais non satisfaisante.
On voit que ça fait 2 mois et quelques, et pour ce 'quelques' on ne peut que se contenter d'une approximation d'un mois à 30 jours (1 mois = 30.4375 en moyenne)
Ce qui donne 2 mois et 25 jours, sujet à caution.
eric
pour moi la question est triviale et n'a pas de réponse exacte.
Prenons un exemple simple :
du 28/02/2021 au 01/04/2021, tout le monde est d'accord, ça fait 1 mois et 2 jours
Prenons maintenant du 02/02/2021 au 28/04/2021
La seule réponse exacte est 1 mois et 55 jours, mais non satisfaisante.
On voit que ça fait 2 mois et quelques, et pour ce 'quelques' on ne peut que se contenter d'une approximation d'un mois à 30 jours (1 mois = 30.4375 en moyenne)
Ce qui donne 2 mois et 25 jours, sujet à caution.
eric
eriiic
Messages postés
24601
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 novembre 2024
7 243
24 janv. 2021 à 18:52
24 janv. 2021 à 18:52
Si tu peux, mais c'est un peu lourd.
Il faut tenir compte des cas particuliers comme jour début = 1er jour du mois, jour de fin=dernier jour du mois, début et fin dans le même mois.
Pour simplifier la lecture j'ai laissé le travail découpé, à toi de voir si tu veux tout regrouper dans une formule unique.
Je te laisse valider la méthode sur plus de cas, pas impossible que des cas particuliers m'aient échappé.
https://www.cjoint.com/c/KAyrZQYnZtX
Sinon ça peut être une fonction personnalisée en vba.
eric
Il faut tenir compte des cas particuliers comme jour début = 1er jour du mois, jour de fin=dernier jour du mois, début et fin dans le même mois.
Pour simplifier la lecture j'ai laissé le travail découpé, à toi de voir si tu veux tout regrouper dans une formule unique.
Je te laisse valider la méthode sur plus de cas, pas impossible que des cas particuliers m'aient échappé.
https://www.cjoint.com/c/KAyrZQYnZtX
Sinon ça peut être une fonction personnalisée en vba.
eric
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
The_boss_68
Messages postés
928
Date d'inscription
dimanche 15 novembre 2015
Statut
Membre
Dernière intervention
10 juin 2024
177
24 janv. 2021 à 19:00
24 janv. 2021 à 19:00
Bonsoir,
La différence entre le 1er janvier 2014 et le 1er mai 2016 est bien de 2 ans et 4 mois comme retourné par les formules et le nombre de jours semble être correct puisque entre le 1er mai et le 6 mai il s’écoule bien 5 jours.
Mais les apparences sont trompeuses. Modifiez la date de début par exemple au lieu de 1er janvier, indiquez 2 janvier, ou 13 mars ou 25 octobre … ou n’importe quelle autre date le résultat du nombre de jours est toujours 5 jours.
Voir, pj
https://www.cjoint.com/c/KAyrZ4E3iQj
Slts
La différence entre le 1er janvier 2014 et le 1er mai 2016 est bien de 2 ans et 4 mois comme retourné par les formules et le nombre de jours semble être correct puisque entre le 1er mai et le 6 mai il s’écoule bien 5 jours.
Mais les apparences sont trompeuses. Modifiez la date de début par exemple au lieu de 1er janvier, indiquez 2 janvier, ou 13 mars ou 25 octobre … ou n’importe quelle autre date le résultat du nombre de jours est toujours 5 jours.
Voir, pj
https://www.cjoint.com/c/KAyrZ4E3iQj
Slts
patrick1870
Messages postés
63
Date d'inscription
dimanche 23 novembre 2014
Statut
Membre
Dernière intervention
6 juin 2024
11
24 janv. 2021 à 16:37
24 janv. 2021 à 16:37
Bonjour eric et merci pour ta réponse
Toutefois, et tu sembles le confirmer, en calculant "à la main" sans l'aide d'Excel on peut déterminer le délai exact entre deux dates sous la forme années + mois + jours.
Pourquoi ne pourrait-on pas faire avec Excel ce que tout le monde peut faire avec un papier et un crayon ?
Encore merci pour ta contribution.
cdlt patrick
Toutefois, et tu sembles le confirmer, en calculant "à la main" sans l'aide d'Excel on peut déterminer le délai exact entre deux dates sous la forme années + mois + jours.
Pourquoi ne pourrait-on pas faire avec Excel ce que tout le monde peut faire avec un papier et un crayon ?
Encore merci pour ta contribution.
cdlt patrick
patrick1870
Messages postés
63
Date d'inscription
dimanche 23 novembre 2014
Statut
Membre
Dernière intervention
6 juin 2024
11
Modifié le 24 janv. 2021 à 20:40
Modifié le 24 janv. 2021 à 20:40
bonsoir
Je vous remercie tous de vous être intéressés à mon problème.
J'ai fait de très nombreuses tentatives, mais je n'ai pas réussi à reproduire l'erreur dans l'utilisation de la fonction DATEDIF(date_début;date_fin;"md").
Une telle erreur est pourtant signalée dans l'aide par Microsoft.
Je vais donc finalement adopter la solution proposée par papyluc utilisant cette fonction car elle est la plus facile à lire et à comprendre pour un novice comme moi. Je le remercie vivement non seulement pour m'avoir donné une solution toute faite mais aussi de m'avoir rendu plus savant par ses précisions sur MOIS.DECALER, j'aurai sûrement l'occasion de l'utiliser.
Microsoft ne sort pas grandi après toutes nos investigations : il recommande de ne pas utiliser la fonction DATEDIF avec le paramètre "md" alors que cette fonction semble fonctionner parfaitement, et nous invite à utiliser en lieu et place une formule qui ne fonctionne pas du tout !
Je remercie également eric et the boss 68 qui ont travaillé sur le problème et proposé deux solutions.
Pour info, passionné d'histoire et de généalogie, je me heurte fréquemment aux limites d'excel : non prise en compte des années antérieures au 1er janvier 1900, impossibilité d'utiliser les différentes fonctions de bases pour le traitement des dates avant 1900, considérer l'année 1900 comme une année bissextile, etc.
Aussi ai-je pour ambition (démesurée vu mes compétences actuelles en Excel) de développer un calendrier perpétuel, lié aux différents calendriers - grégorien, julien, républicain et peut-être d'autres si j'en ai l'usage - et, je l'espère, si je deviens un spécialiste de VBA, créer des fonctions de base relatives aux dates sans limites dans le passé ou le futur (actuellement j'utilise un subterfuge : j'ajoute 2000 ans aux dates antérieures au 1/1/1900 ).
Un travail gigantesque m'attend et je reviendrai peut être faire appel à la solidarité du forum.
Encore merci !
Je clôture le sujet
Patrick
Je vous remercie tous de vous être intéressés à mon problème.
J'ai fait de très nombreuses tentatives, mais je n'ai pas réussi à reproduire l'erreur dans l'utilisation de la fonction DATEDIF(date_début;date_fin;"md").
Une telle erreur est pourtant signalée dans l'aide par Microsoft.
Je vais donc finalement adopter la solution proposée par papyluc utilisant cette fonction car elle est la plus facile à lire et à comprendre pour un novice comme moi. Je le remercie vivement non seulement pour m'avoir donné une solution toute faite mais aussi de m'avoir rendu plus savant par ses précisions sur MOIS.DECALER, j'aurai sûrement l'occasion de l'utiliser.
Microsoft ne sort pas grandi après toutes nos investigations : il recommande de ne pas utiliser la fonction DATEDIF avec le paramètre "md" alors que cette fonction semble fonctionner parfaitement, et nous invite à utiliser en lieu et place une formule qui ne fonctionne pas du tout !
Je remercie également eric et the boss 68 qui ont travaillé sur le problème et proposé deux solutions.
Pour info, passionné d'histoire et de généalogie, je me heurte fréquemment aux limites d'excel : non prise en compte des années antérieures au 1er janvier 1900, impossibilité d'utiliser les différentes fonctions de bases pour le traitement des dates avant 1900, considérer l'année 1900 comme une année bissextile, etc.
Aussi ai-je pour ambition (démesurée vu mes compétences actuelles en Excel) de développer un calendrier perpétuel, lié aux différents calendriers - grégorien, julien, républicain et peut-être d'autres si j'en ai l'usage - et, je l'espère, si je deviens un spécialiste de VBA, créer des fonctions de base relatives aux dates sans limites dans le passé ou le futur (actuellement j'utilise un subterfuge : j'ajoute 2000 ans aux dates antérieures au 1/1/1900 ).
Un travail gigantesque m'attend et je reviendrai peut être faire appel à la solidarité du forum.
Encore merci !
Je clôture le sujet
Patrick