Fonctions de dates et de texte du tableur : échéances, ancienneté et nettoyage de données
À retenir
Cadre programme : DCG, programme 2025 (arrêté du 4 août 2025, première session 2027), UE 8 « Systèmes d'information de gestion », partie 2 « Gérer des données du système d'information », sous-partie 2.2.1 « Automatiser la résolution des problèmes de gestion » (formules utilisant des fonctions de calcul appliquées aux dates et de manipulation de texte).
Pourquoi c'est central à l'examen : les énoncés de gestion regorgent de dates (échéances de paiement, retards, ancienneté, trimestres) et de données textuelles mal formées issues d'un import (espaces superflus, majuscules, références à découper). Savoir calculer sur les dates et nettoyer du texte relève des compétences de base d'un gestionnaire de données.
01Les dates dans le tableur
1.1 Une date est un nombre
Le tableur stocke une date comme un numéro de série : le nombre de jours écoulés depuis une date d'origine. Conséquences :
| Opération | Résultat | Exemple |
|---|---|---|
| Date + nombre | Une date plus tardive | 01/10/2026 + 30 donne 31/10/2026 |
| Date - date | Un nombre de jours | 15/10/2026 - 12/03/2026 donne 217 |
| Comparaison de dates | VRAI ou FAUX | B5>C5 |
Le format détermine l'affichage : une même cellule peut montrer 01/10/2026 ou un nombre à cinq chiffres selon qu'on lui applique un format date ou un format nombre. Une cellule saisie sous la forme 12.03.2026, que le tableur ne reconnaît pas comme une date, reste du texte : elle est alignée à gauche et ne se calcule pas.
1.2 Les fonctions de dates
| Fonction | Syntaxe | Rôle | Exemple |
|---|---|---|---|
AUJOURDHUI | AUJOURDHUI() | Date du jour, recalculée à chaque ouverture ou recalcul | résultat variable |
DATE | DATE(année;mois;jour) | Construit une date | DATE(2026;10;1) donne 01/10/2026 |
ANNEE | ANNEE(date) | Extrait l'année | ANNEE(12/03/2026) donne 2026 |
MOIS | MOIS(date) | Extrait le mois (1 à 12) | MOIS(12/03/2026) donne 3 |
JOUR | JOUR(date) | Extrait le jour du mois | JOUR(12/03/2026) donne 12 |
JOURSEM | JOURSEM(date;type) | Jour de la semaine ; avec type égal à 2, lundi = 1 et dimanche = 7 | JOURSEM(01/10/2026;2) donne 4 (jeudi) |
FIN.MOIS | FIN.MOIS(date;décalage) | Dernier jour du mois situé décalage mois après (ou avant) la date | FIN.MOIS(10/02/2026;0) donne 28/02/2026 |
MOIS.DECALER | MOIS.DECALER(date;décalage) | Même jour du mois, décalage mois plus tard ; si ce jour n'existe pas, le dernier jour du mois | MOIS.DECALER(31/01/2026;1) donne 28/02/2026 |
Attention : AUJOURDHUI() rend un modèle non reproductible (un résultat différent chaque jour, une impression ancienne qui ne se retrouve plus). Pour figer un calcul d'arrêté, on place une date de référence dans une cellule de paramètre (cours 25) et on ne recourt à AUJOURDHUI() que pour un suivi « en temps réel ».
1.3 Reconstruire une date, extraire une composante
- Pour changer d'année :
=DATE(ANNEE(B2)+1;MOIS(B2);JOUR(B2))ajoute un an. - Pour obtenir le trimestre :
=ENT((MOIS(B2)+2)/3)donne 1 pour janvier à mars, 2 pour avril à juin, 3 pour juillet à septembre, 4 pour octobre à décembre. - Pour savoir si une date tombe un week-end :
=JOURSEM(B2;2)>=6.
1.4 Mesurer un écart entre deux dates
| Besoin | Formule | Remarque |
|---|---|---|
| Nombre de jours | =B2-A2 | Simple soustraction ; format de la cellule en nombre |
| Nombre de mois (écart de calendrier) | =(ANNEE(B2)-ANNEE(A2))*12+MOIS(B2)-MOIS(A2) | Compte les changements de mois, pas les mois entiers |
| Nombre d'années complètes | =ANNEE(B2)-ANNEE(A2)-SI(DATE(ANNEE(B2);MOIS(A2);JOUR(A2))>B2;1;0) | On retire 1 si l'anniversaire n'est pas encore passé |
La dernière formule est celle d'une ancienneté : l'écart d'années brut (ANNEE(B2)-ANNEE(A2)) est corrigé quand la date anniversaire de l'année de B2 est postérieure à B2.
1.5 Calculer des échéances de paiement
Les conditions de règlement se traduisent en formules. Avec une facture datée en B5, un délai de 30 jours en C5 :
| Condition | Formule | Principe |
|---|---|---|
| « 30 jours » | =B5+C5 | Date de facture + délai |
| « 30 jours fin de mois » | =FIN.MOIS(B5+C5;0) | On ajoute le délai, puis on se place à la fin du mois obtenu |
| « Fin de mois, puis 15 jours » | =FIN.MOIS(B5;0)+15 | On se place d'abord en fin de mois, puis on ajoute le délai |
Les deux dernières conditions ne donnent pas la même date : l'ordre des opérations compte, et c'est l'énoncé (ou le contrat) qui le précise. Pour une facture du 12/03/2026 à « 45 jours fin de mois », on obtient 26/04/2026 puis, en fin de mois, 30/04/2026 ; avec l'autre lecture (fin de mois puis 45 jours), on obtiendrait 31/03/2026 + 45 jours = 15/05/2026. Écrire la convention retenue dans la zone de paramètres du modèle évite toute ambiguïté.
Le retard se calcule avec MAX(0;date_de_règlement-échéance), pour ne pas obtenir de retard négatif quand le client paie en avance (cours 26).