Pour exprimer une différence entre deux dates en années, mois et jours calendaires, comptez d’abord les mois calendaires, puis les jours restants. Ce guide pas à pas dans Numbers utilise des dates de publication fictives et une règle explicite pour les fins de mois afin que vous puissiez vérifier le résultat.

Par exemple, du 18 mai 2022 au 24 septembre 2025, on obtient 3 ans, 4 mois et 6 jours selon la méthode ci-dessous. Vous allez créer une feuille de calcul réutilisable qui gère également février, les années bissextiles et les dates telles que le 31 janvier.

Définir ce que signifie une différence calendaire

Une différence calendaire nécessite une date de départ et une règle pour avancer de mois en mois. Diviser le nombre de jours écoulés par 365, puis par 30, ne permet pas de respecter les limites du calendrier : les mois et les années n’ont pas tous la même durée. La documentation de l’API de dates TC39 rend cette distinction explicite en expliquant pourquoi les différences entre dates sont exprimées en jours par défaut, sauf si une unité supérieure est demandée. Documentation de Temporal.PlainDate.

Ce guide utilise la convention suivante pour les dates du calendrier grégorien moderne :

  1. Avancez de la date la plus ancienne à la date la plus récente.
  2. Trouvez le plus grand décalage entier en mois dont l’ancrage calendaire ne dépasse pas la date de fin.
  3. Conservez le numéro du jour de départ s’il existe dans le mois cible ; sinon, utilisez le dernier jour de ce mois.
  4. Exprimez chaque période de 12 mois en une année, puis comptez les jours entre l’ancrage et la date de fin.

Selon cette convention, du 31 janvier au 28 février 2025, il s’écoule un mois. Du 31 janvier au 30 mars 2025, il s’écoule un mois et 30 jours : l’ancrage à deux mois serait le 31 mars, soit après la date de fin. Ces résultats découlent de la règle choisie ; ils ne constituent pas des définitions universelles d’un mois.

Utilisez le décompte des jours écoulés plutôt que de compter les deux dates comme des jours inclus. Deux dates identiques donnent donc zéro année, zéro mois et zéro jour. Si votre tâche consiste à compter le nombre d’entrées datées du calendrier incluses dans une période, il s’agit d’un calcul différent.

Distinguer les dates civiles des horodatages

Une date de publication telle que 2025-09-24 est une date civile : une année, un mois et un jour dans un calendrier. Elle ne précise pas d’heure et ne désigne pas un instant. Un horodatage tel que 2025-09-24T00:30:00+02:00 inclut une heure et un décalage numérique par rapport à UTC, ce qui lui permet de désigner un instant. La RFC 3339 définit la syntaxe correspondante pour les dates complètes et les dates-heures. RFC 3339 : Date et heure sur Internet : horodatages.

Un décalage tel que +02:00 décrit une relation avec UTC. Un fuseau nommé tel que Europe/Paris fournit les règles de conversion entre instants et heures locales ; le décalage applicable peut changer. La RFC 9557 distingue ces concepts et explique pourquoi un décalage seul ne fournit pas les règles nécessaires aux calculs calendaires locaux. RFC 9557 : Horodatages avec informations supplémentaires.

Pour cette feuille de calcul, saisissez directement les dates de publication souhaitées. Si votre source contient des horodatages, déterminez d’abord quel fuseau nommé définit le jour de publication, puis convertissez les deux horodatages en dates dans ce fuseau. À titre d’exemple, 2025-09-24T00:30:00+02:00 correspond au même instant que 2025-09-23T22:30:00Z ; choisir la date affichée avant de choisir le fuseau de référence peut modifier la date saisie d’un jour.

Créer la feuille de calcul de différence de dates dans Numbers

Vous avez besoin de Numbers sur votre Mac et d’un tableau comportant les colonnes A à J et au moins deux lignes. Utilisez la ligne 1 pour les libellés et la ligne 2 pour le calcul. Les formules ci-dessous utilisent les noms de fonctions en anglais et des virgules comme séparateurs.

Pour saisir chaque formule, sélectionnez la cellule de destination, tapez ou collez la formule en commençant par =, puis appuyez sur Return. Apple précise que la saisie d’un signe égal ouvre l’Éditeur de formules et que l’Explorateur de fonctions fournit une aide sur les fonctions. Calculer des valeurs à l’aide des données des cellules d’un tableau dans Numbers sur Mac.

Saisir des dates de début et de fin sans ambiguïté

Nommez A1 Date de début et B1 Date de fin. Saisissez les dates de publication fictives suivantes :

Cellule Formule Date souhaitée
A2 =DATE(2022,5,18) 18 mai 2022
B2 =DATE(2025,9,24) 24 septembre 2025

L’utilisation de DATE(year,month,day) évite toute ambiguïté entre les interprétations régionales des chaînes de date. Apple recommande précisément cette fonction pour obtenir une interprétation cohérente des dates selon les réglages régionaux. Saisissez des dates calendaires valides, avec le nombre de jours correct pour chaque mois. DATE.

Avant de poursuivre, vérifiez que la date de fin est identique ou postérieure à la date de début. Cette feuille de calcul calcule volontairement une différence vers l’avant ; elle ne définit pas les périodes calendaires négatives.

Trouver le dernier ancrage calendaire avant la date de fin

Saisissez les libellés et les formules suivants sur la ligne 2, dans l’ordre :

Cellule Libellé de la ligne 1 Formule de la ligne 2
C2 Mois candidats =(YEAR(B2)-YEAR(A2))*12+MONTH(B2)-MONTH(A2)
D2 Mois complets =C2-IF(DATE(YEAR(B2),MONTH(B2),MIN(DAY(A2),DAY(EOMONTH(B2,0))))>B2,1,0)
E2 Début du mois d’ancrage =EDATE(DATE(YEAR(A2),MONTH(A2),1),D2)
F2 Date d’ancrage =DATE(YEAR(E2),MONTH(E2),MIN(DAY(A2),DAY(EOMONTH(E2,0))))

La première formule calcule la distance entre les deux positions année-mois. Les fonctions YEAR et MONTH d’Apple extraient ces éléments des valeurs de date. YEAR, MONTH.

La deuxième formule teste un ancrage dans le mois de fin. Son jour correspond au plus petit du jour de départ et du dernier jour de ce mois. Si cette date candidate dépasse la date de fin, la formule retire un mois. Cet ajustement conditionnel utilise le comportement documenté de IF. IF.

Les formules restantes construisent l’ancrage réel. EDATE décale le premier jour du mois de départ du nombre de mois calculé, évitant ainsi un jour invalide lors de cette étape intermédiaire. EDATE.

La feuille de calcul applique ensuite explicitement la règle de fin de mois : DAY extrait le numéro du jour, EOMONTH fournit la dernière date du mois cible et MIN sélectionne le plus petit numéro de jour. Le traitement des mois plus courts est ainsi visible dans la formule. DAY, EOMONTH, MIN.

Exprimer le résultat en années, mois et jours

Complétez la feuille de calcul avec les formules suivantes :

Cellule Libellé de la ligne 1 Formule de la ligne 2
G2 Années =QUOTIENT(D2,12)
H2 Mois =MOD(D2,12)
I2 Jours =DATEDIF(F2,B2,"D")
J2 Différence calendaire =G2&" years, "&H2&" months, "&I2&" days"

QUOTIENT fournit le résultat de la division entière et MOD fournit le reste, convertissant ainsi le nombre de mois complets en années et en mois restants. QUOTIENT, MOD.

Pour les dates d’exemple, D2 doit afficher 40 et F2 doit correspondre au 18 septembre 2025. Les six jours entre cet ancrage et le 24 septembre complètent le résultat : 3 ans, 4 mois et 6 jours. Par souci de simplicité, la formule de texte utilise des libellés au pluriel fixes ; les colonnes numériques distinctes restent disponibles pour d’autres calculs.

Vérifier les fins de mois et les années bissextiles

Utilisez les paires de dates fictives suivantes pour vérifier la convention de la feuille de calcul. Remplacez uniquement les formules de A2 et B2, en conservant les autres formules :

Date de début Date de fin Années, mois et jours attendus Date d’ancrage
18 mai 2022 24 septembre 2025 3, 4, 6 18 septembre 2025
31 janvier 2025 28 février 2025 0, 1, 0 28 février 2025
31 janvier 2024 29 février 2024 0, 1, 0 29 février 2024
29 février 2024 28 février 2025 1, 0, 0 28 février 2025
31 janvier 2025 30 mars 2025 0, 1, 30 28 février 2025
24 septembre 2025 24 septembre 2025 0, 0, 0 24 septembre 2025

Ces exemples sont calculés selon la règle indiquée. L’algorithme d’ancrage sous-jacent a été vérifié à l’aide d’un calcul Python déterministe, notamment sur 10 000 paires de dates générées ; l’interface Numbers n’a pas été exécutée.

Vérifiez le résultat en reconstituant son chemin : partez de la date de début, avancez du nombre total de mois indiqué dans D2 selon la règle de fin de mois énoncée, puis avancez du nombre de jours indiqué dans I2. Vous devriez atteindre la date de fin. Calculez toujours l’ancrage mensuel à partir de la date de début initiale : avancer d’un mois à la fois peut faire perdre le jour initial après février.

Pourquoi ne pas combiner trois résultats DATEDIF ?

Apple documente les options DATEDIF pour les années, les mois sans tenir compte des années et les jours sans tenir compte des mois et des années. L’option \"MD\" applique un calcul particulier du numéro de jour qui implique des mois substitués. Il ne faut donc pas supposer qu’elle représente les jours restants après l’ajustement de fin de mois choisi. Cette feuille de calcul utilise \"D\" uniquement entre l’ancrage explicite et la date de fin. DATEDIF.

Correspondance de l’opération avec une API de dates

Pour les logiciels qui implémentent cette tâche, TC39 documente un type ne contenant que la date, Temporal.PlainDate, et une opération de différence tenant compte du calendrier. Demander until avec largestUnit: 'year' produit une durée exprimée en années et unités inférieures ; en laissant les options par défaut, la différence est exprimée en jours. La documentation décrit également l’addition de mois avec ajustement et rejette les différences entre des dates utilisant des calendriers différents, sauf si elles sont converties dans un calendrier commun. Documentation de Temporal.PlainDate.

Ces choix d’API renforcent les décisions essentielles de la feuille de calcul : identifier les entrées comme des dates sans heure, choisir le calendrier, spécifier l’unité la plus grande et conserver un ancrage pour interpréter les mois. Les normes de chaînes de date décrivent les représentations ; choisir une représentation à lui seul ne détermine pas la convention de fin de mois à appliquer à votre tâche.

Résoudre les résultats inattendus avant d’utiliser le résultat

Si une formule génère une erreur, sélectionnez l’indicateur d’erreur pour lire le message ; le guide Numbers d’Apple décrit cette étape de diagnostic. Vérifiez les références de cellules et utilisez l’Explorateur de fonctions pour insérer des arguments si votre installation attend des séparateurs de formule différents. Calculer des valeurs à l’aide des données des cellules d’un tableau dans Numbers sur Mac.

Si le calcul semble plausible, mais diffère de celui d’un autre outil, comparez sa règle de fin de mois à celle de cette feuille de calcul. Vérifiez également si l’autre outil compte les deux dates comme incluses, utilise des horodatages plutôt que des dates civiles ou arrondit le résultat. Écartez les dates inversées et les entrées vides de ce calcul vers l’avant au lieu de remplacer les erreurs par zéro.

Pour comparer de façon réutilisable des dates de publication, conservez la date de début, la date de fin et l’ancrage avec le résultat final. Ces éléments permettent de retracer un résultat tel que « 3 ans, 4 mois et 6 jours » jusqu’à un calcul calendaire précis.

Sources