Le cabinet ouvre prochainement. Guides et simulateurs sont déjà en libre accès —être informé de l’ouverture
Excel de zéro à héros · Épisode 17 sur 50

Dates et échéances : fin de mois, délais et jours ouvrés

Épisode 17 : calculer une échéance, une fin de mois, un retard ou le prochain jour ouvré avec DATE, FIN.MOIS, DATEDIF et SERIE.JOUR.OUVRE. Échéancier chiffré.

Publié le 7 min de lectureNiveau : IntermédiaireModule 3 : Logique, texte et dates : les formules du quotidienRédaction ExpertiseComptable.ma

En bref
  • Une date est un nombre de jours : ajouter 60 à une date de facture donne l’échéance à 60 jours, soustraire deux dates donne un délai.
  • FIN.MOIS(date;n) renvoie le dernier jour du mois situé n mois plus loin ; « 60 jours fin de mois » peut s’entendre de deux façons, à définir dans le contrat avant de choisir la formule.
  • SERIE.JOUR.OUVRE saute samedis, dimanches et jours fériés listés ; JOURSEM(date;2) numérote les jours de 1 (lundi) à 7 (dimanche).
  • Pour des rapports reproductibles, saisissez la date de situation dans une cellule plutôt que d’utiliser AUJOURDHUI(), qui change à chaque ouverture.

Les dates sont le fil rouge de la comptabilité : échéances clients et fournisseurs, retards de paiement, périodes d’amortissement, dates d’arrêté. Excel sait tout calculer à partir de dates, à une condition : qu’il s’agisse de vraies dates, donc de nombres (épisode 2). Cet épisode passe en revue les fonctions qui servent le plus, avec un échéancier de factures chiffré.

Ce que vous saurez faire à la fin de l’épisode

  • ajouter ou retrancher des jours et des mois à une date ;
  • obtenir une fin de mois et calculer un « délai fin de mois » ;
  • savoir si une échéance tombe un week-end et trouver le prochain jour ouvré ;
  • mesurer un retard ou un âge en jours, en mois ou en années ;
  • éviter les pièges de AUJOURDHUI() et des dates saisies en texte.

Les fonctions de date à connaître

Fonction Rôle Exemple Résultat
DATE(a;m;j) Construit une date =DATE(2026;3;15) 15/03/2026
ANNEE, MOIS, JOUR Extrait un élément =MOIS(A2) 1 pour janvier
AUJOURDHUI() Date du jour (recalculée) =AUJOURDHUI() date d’aujourd’hui
FIN.MOIS(date;n) Dernier jour du mois, n mois plus loin =FIN.MOIS(A2;0) 31/01/2026 pour le 05/01/2026
MOIS.DECALER(date;n) Même jour, n mois plus loin =MOIS.DECALER(A2;3) 05/04/2026
JOURS(fin;début) Nombre de jours entre deux dates =JOURS(B2;A2) écart en jours
DATEDIF(début;fin;"M") Mois complets écoulés voir plus bas
JOURSEM(date;2) Jour de la semaine (1 = lundi) =JOURSEM(A2;2) 1 à 7
SERIE.JOUR.OUVRE(date;n;fériés) Date après n jours ouvrés =SERIE.JOUR.OUVRE(A2;5) 5 jours ouvrés plus tard
NB.JOURS.OUVRES(début;fin;fériés) Jours ouvrés entre deux dates

Les formules s’appuient sur le fait qu’une date est un nombre : =A2+60 suffit pour ajouter soixante jours, et =B2-A2 donne un nombre de jours (formatez la cellule en Standard ou Nombre si Excel l’affiche comme une date).

Le cas : l’échéancier d’Atlas Négoce

Cinq factures, avec leur délai contractuel en jours. On veut l’échéance, la version « fin de mois », le jour de la semaine, le prochain jour ouvré et le retard au 15 mars 2026.

Échéancier de factures : date plus délai, fin de mois plus délai, contrôle du week-end, prochain jour ouvré et retard en jours au 15/03/2026 Figure 1 : cinq factures. Repère 1 : fin de mois + délai ; repère 2 : prochain jour ouvré ; repère 3 : la date de situation, saisie en J2.

L’échéance (colonne D) : =B2+C2. La facture FA-0101 du 05/01/2026 à 60 jours arrive à échéance le 06/03/2026.

La date de situation (cellule J2) : le 15/03/2026. On la saisit en dur pour que l’échéancier donne les mêmes résultats demain. En production, on y mettrait =AUJOURDHUI() pour un suivi du jour, avec le risque dont nous parlons plus bas.

Le retard (colonne H) : =MAX(0;$J$2-D2) : le nombre de jours après l’échéance, avec un plancher à zéro si l’échéance n’est pas encore passée. Les résultats :

Facture Date Délai Échéance Retard au 15/03/2026
FA-0101 05/01/2026 60 06/03/2026 9 j
FA-0102 08/01/2026 30 07/02/2026 36 j
FA-0103 12/01/2026 45 26/02/2026 17 j
FV-0001 08/01/2026 60 09/03/2026 6 j
FV-0002 28/01/2026 90 28/04/2026 0 j

« Fin de mois » : deux lectures possibles

Les contrats parlent de « 60 jours fin de mois ». L’expression recouvre deux conventions :

  1. Fin de mois, puis le délai : on part de la fin du mois de la facture, puis on ajoute le délai. =FIN.MOIS(B2;0)+C2. Pour FA-0101 : fin janvier (31/01/2026) + 60 jours = 01/04/2026.
  2. Le délai, puis fin de mois : on ajoute le délai, puis on se place à la fin de ce mois. =FIN.MOIS(B2+C2;0). Pour FA-0101 : 06/03/2026, donc 31/03/2026.

Les deux dates diffèrent d’un jour, ou davantage selon les dates. Aucune n’est « la bonne » : c’est le contrat (et, pour les délais légaux, la loi sur les délais de paiement) qui tranche. Dans notre échéancier, la colonne E applique la première convention. Pour les règles légales de calcul des délais et de pénalités, consultez le guide sur les délais de paiement et l’outil dédié ; Excel exécute la règle, il ne la choisit pas.

Week-ends et jours ouvrés

JOURSEM(date;2) renvoie 1 pour lundi, 7 pour dimanche : la formule =SI(JOURSEM(D2;2)>5;"Week-end";"Ouvré") signale les échéances un samedi ou un dimanche. Dans l’échéancier, FA-0102 arrive à échéance le 07/02/2026, un samedi.

Pour obtenir le prochain jour ouvré à partir de l’échéance, on utilise :

=SERIE.JOUR.OUVRE(D2-1; 1)

Lecture : « un jour ouvré après la veille de l’échéance » : si l’échéance est un jour ouvré, on la retrouve ; sinon, on obtient le premier jour ouvré suivant. Pour FA-0102, le résultat est le lundi 09/02/2026. Les autres échéances (FA-0101, FA-0103, FV-0001, FV-0002) tombent en semaine et restent inchangées.

Excel considère par défaut que le week-end est le samedi et le dimanche, ce qui correspond au Maroc. Les jours fériés sont à fournir : créez une liste dans la feuille Paramètres (la date de chaque jour férié de l’année, y compris les fêtes religieuses dont la date dépend du calendrier lunaire et se confirme chaque année) et passez-la en troisième argument : =SERIE.JOUR.OUVRE(D2-1;1;JoursFeries), avec JoursFeries un nom défini (épisode 10). La variante SERIE.JOUR.OUVRE.INTL permet de définir d’autres jours de repos hebdomadaires.

Mesurer un âge : DATEDIF

Pour mesurer l’ancienneté d’une facture en mois, DATEDIF(début;fin;"M") compte les mois entiers écoulés (anglais : DATEDIF, la même fonction) :

=DATEDIF(B2; $J$2; "M")

Pour FA-0101 (05/01/2026 → 15/03/2026) : 2 mois entiers (le 05/03 est atteint, pas le 05/04). Les unités : "Y" années entières, "M" mois entiers, "D" jours, "YM" mois restants après les années, "MD" jours restants après les mois. La fonction renvoie #NOMBRE! si la date de début est postérieure à la date de fin. Pour une balance âgée (épisode 37), on préfère souvent des tranches de jours calculées par soustraction.

Les pièges des dates

  • AUJOURDHUI() change tout seul. Un rapport arrêté « au 31 janvier » ne doit pas utiliser AUJOURDHUI(), sinon ses chiffres dérivent chaque jour. Une cellule Date de situation dans la feuille Paramètres règle le problème.
  • Dates en texte : SERIE.JOUR.OUVRE ou FIN.MOIS renvoient #VALEUR! si la date est du texte. Convertissez (épisode 2).
  • Format d’affichage : une soustraction de dates peut s’afficher comme une date en 1900 si la cellule hérite du format de la cellule précédente. Passez la cellule en format Nombre.
  • Années à deux chiffres : saisir 5/1/26 dépend des paramètres régionaux. Saisissez toujours l’année complète.
  • Système 1904 : certains classeurs créés sous Mac utilisent un décalage de 1 462 jours ; si les dates paraissent décalées de quatre ans, vérifiez Fichier › Options › Options avancées › Utiliser le calendrier depuis 1904.
  • Le 29 février : MOIS.DECALER et FIN.MOIS gèrent correctement les fins de mois ; additionner 365 jours à une date ne retombe pas toujours sur la même date l’année suivante.

À vous de jouer

Dans l’onglet Échéances du classeur d’exercice :

  1. Complétez les colonnes D à H avec les formules ci-dessus.
  2. Quelle est la facture la plus en retard au 15/03/2026 ? Combien de jours ?
  3. Remplacez la colonne E par la seconde convention (=FIN.MOIS(B2+C2;0)) : que devient l’échéance de FA-0101 ?
  4. Ajoutez le 10/02/2026 et le 11/02/2026 comme jours fériés fictifs dans une liste et modifiez la colonne G pour les exclure. Que devient le prochain jour ouvré de FA-0102 ?
  5. Calculez l’ancienneté en mois entiers de chaque facture au 15/03/2026 avec DATEDIF.

Correction. La facture la plus en retard est FA-0102 (échéance le 07/02/2026), en retard de 36 jours. Avec la seconde convention, l’échéance de FA-0101 devient le 31/03/2026. Avec les deux jours fériés fictifs, le prochain jour ouvré de FA-0102 reste le lundi 09/02/2026 (les jours fériés sont postérieurs). Les anciennetés en mois entiers sont : 2 pour FA-0101 (05/01), 2 pour FA-0102 (08/01), 2 pour FA-0103 (12/01), 2 pour FV-0001 (08/01), 1 pour FV-0002 (28/01 → 15/03 : 1 mois entier, le 28/03 n’est pas atteint).

À retenir

  • Une date est un nombre : + et - suffisent pour les délais ; FIN.MOIS et MOIS.DECALER pour les mois.
  • « Fin de mois » a deux lectures : écrivez la convention du contrat avant la formule.
  • JOURSEM(date;2) et SERIE.JOUR.OUVRE détectent les week-ends ; les jours fériés se fournissent à Excel.
  • DATEDIF(début;fin;"M") compte les mois entiers ; les dates doivent être de vraies dates.
  • Une date de situation saisie vaut mieux qu’AUJOURDHUI() pour un rapport arrêté.

Épisode 18, dernier du module 3 : importer un fichier CSV ou un relevé bancaire sans le casser, avec la conversion des dates et des montants.

Questions fréquentes

Comment ajouter un nombre de mois à une date ?

Avec MOIS.DECALER(date;n) : =MOIS.DECALER(A2;3) renvoie la date trois mois plus tard, en conservant le jour quand il existe (sinon le dernier jour du mois). N’ajoutez pas 90 jours si le contrat dit trois mois.

Excel connaît-il les jours fériés marocains ?

Non. Il ne connaît que les week-ends. Dressez une liste des jours fériés de l’année dans la feuille Paramètres (les fêtes religieuses dépendent du calendrier lunaire et se fixent chaque année) et passez-la en troisième argument de SERIE.JOUR.OUVRE.

Pourquoi DATEDIF n’apparaît-elle pas dans l’assistant ?

C’est une fonction ancienne conservée pour compatibilité : elle fonctionne mais n’est pas documentée dans l’assistant. Sa syntaxe est DATEDIF(début;fin;unité), avec les unités "Y" (années), "M" (mois), "D" (jours).

Pourquoi mes calculs de délais changent-ils quand j’ouvre le fichier ?

Vous utilisez AUJOURDHUI() ou MAINTENANT(), qui se recalculent à chaque ouverture. Pour une situation arrêtée à une date donnée, saisissez cette date dans une cellule et faites-y référence.

Rédaction ExpertiseComptable.ma

Articles rédigés par l’équipe du cabinet à partir des textes officiels et de la pratique des missions. Chaque article indique sa date de publication et, le cas échéant, de dernière revue.

Partager :LinkedInFacebookWhatsApp

Articles connexes

Une question sur votre situation ?

Décrivez-nous votre projet : nous vous répondons sous 48 heures ouvrées avec une proposition de lettre de mission.