MOIS.DECALER (EDATE en anglais) est la fonction Excel pour naviguer dans le temps mois par mois, sans te perdre dans les calendriers. Tu lui donnes une date de départ et un nombre de mois à avancer ou à reculer, elle te sort la date exacte, avec le bon jour et en gérant les années bissextiles toute seule.
C'est elle qui calcule les dates d'échéance de tes contrats, planifie les rappels de renouvellement trimestriel, construit tes rétroplannings de projet ou retrouve les dates d'embauche à partir de l'ancienneté. Plus besoin de compter les mois sur tes doigts ni de te perdre dans les calendriers.
Syntaxe de la fonction MOIS.DECALER
=MOIS.DECALER(date_départ; mois)Si le jour de la date de départ n'existe pas dans le mois cible (ex : le 31 janvier décalé d'un mois), Excel ajuste automatiquement vers le dernier jour du mois cible.
Comprendre chaque paramètre de la fonction MOIS.DECALER
date_départ
: la date de référence à partir de laquelle le calcul est effectuéTu peux utiliser une référence de cellule comme A1, une date entre guillemets comme "15/01/2024", ou le résultat d'une autre fonction comme AUJOURDHUI().
Excel stocke toutes les dates comme des numéros de série : ce paramètre doit contenir une vraie date formatée, pas du texte qui ressemble à une date. Si la cellule affiche un texte aligné à gauche, c'est souvent signe que ce n'est pas une date reconnue.
Astuce : Évite de saisir la date directement dans la formule. Mets-la dans une cellule et référence-la : c'est plus souple quand la date change, et plus lisible pour tes collègues.
mois
: le nombre de mois à ajouter si positif, à soustraire si négatifTu peux utiliser un entier direct comme 12, une référence de cellule comme B2, ou même une formule qui calcule un nombre de mois.
Quelques exemples courants : 3 pour avancer de 3 mois, -6 pour reculer de 6 mois, 12 pour avancer d'un an, -24 pour reculer de 2 ans. Il n'y a pas de limite sur la valeur.
Pas envie d'écrire la formule MOIS.DECALER à la main ?
Génère-la avec notre IAExemples pratiques pas à pas
Gestionnaire de contrats : calculer les dates d'échéance automatiquement
Tu gères des dizaines de contrats aux durées variables : 6, 12 ou 24 mois. Plutôt que de calculer chaque date d'échéance à la main, tu laisses MOIS.DECALER le faire à partir de la date de signature et de la durée saisies dans le tableau.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Client | Date signature | Durée (mois) | Date d'échéance |
| 2 | Entreprise ABC | 15/01/2024 | 12 | 15/01/2025 |
| 3 | Société XYZ | 10/03/2024 | 24 | 10/03/2026 |
| 4 | Startup Tech | 22/06/2024 | 6 | 22/12/2024 |
| 5 | Client Pro | 05/09/2024 | 18 | 05/03/2026 |
=MOIS.DECALER(B2; C2)La fonction lit la date en B2 et avance du nombre de mois inscrit en C2. Si tu modifies la durée du contrat, la date se recalcule instantanément. Copie la formule vers le bas pour couvrir tous tes contrats en une fois.
Responsable abonnements : planifier les renouvellements trimestriels
Tu gères les abonnements d'une plateforme SaaS et tu dois planifier les rappels de renouvellement tous les 3 mois à partir du premier paiement.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | 1er paiement | Rappel T+3 | Rappel T+6 | Rappel T+9 |
| 2 | 01/02/2024 | 01/05/2024 | 01/08/2024 | 01/11/2024 |
=MOIS.DECALER(A2; 3)La fonction part du premier paiement en A2 et avance de 3 mois pour le premier rappel. Pour les rappels suivants, il suffit de changer le nombre de mois (6 puis 9) afin d'obtenir une date par trimestre.
Astuce de pro : Pour générer une série de dates mensuelles d'un coup, tu peux aussi combiner MOIS.DECALER avec SEQUENCE : =MOIS.DECALER(A2; SEQUENCE(12)) génère les 12 prochaines dates mensuelles en une seule formule matricielle (Excel 365).
Chef de projet : établir un rétroplanning mensuel
Tu viens de fixer la date de lancement au 15 décembre 2024 et tu dois remonter dans le temps pour placer toutes les étapes clés : phase de tests 2 mois avant, fin du développement 5 mois avant, début du projet 9 mois avant.
| A | B | C | |
|---|---|---|---|
| 1 | Étape | Décalage | Date |
| 2 | Lancement | 0 | 15/12/2024 |
| 3 | Début tests | -2 | 15/10/2024 |
| 4 | Fin développement | -5 | 15/07/2024 |
| 5 | Début projet | -9 | 15/03/2024 |
=MOIS.DECALER($C$2; B3)Grâce aux nombres négatifs de la colonne Décalage, la fonction remonte dans le temps à partir de la date de lancement. Le $C$2 avec ses signes dollars fixe la référence à la date de lancement quand tu copies la formule vers le bas. Si la date de lancement se décale d'un mois, tout ton planning se recalcule automatiquement.
Responsable RH : estimer les dates d'embauche à partir de l'ancienneté
Tu disposes d'une liste d'employés avec leur ancienneté en mois, mais pas leur date d'embauche exacte. Tu veux une estimation rapide pour préparer les célébrations d'anniversaire de service et vérifier les droits acquis.
| A | B | C | |
|---|---|---|---|
| 1 | Employé | Ancienneté (mois) | Date d'embauche (estimée) |
| 2 | Marie Dubois | 36 | 15/12/2021 |
| 3 | Pierre Martin | 18 | 15/06/2023 |
| 4 | Sophie Laurent | 60 | 15/12/2019 |
| 5 | Lucas Bernard | 8 | 15/04/2024 |
=MOIS.DECALER(AUJOURDHUI(); -B2)La fonction part de la date du jour et recule du nombre de mois d'ancienneté. C'est une estimation au jour près, mais suffisante pour avoir une vue d'ensemble rapide. Elle se met à jour automatiquement chaque jour grâce à AUJOURDHUI().
Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes erreurs fréquentes avec la fonction MOIS.DECALER
Format de date non reconnu : erreur #VALEUR!
Si ta cellule date_départ contient du texte qui ressemble à une date (affiché aligné à gauche), Excel ne peut pas la traiter comme une vraie date et renvoie #VALEUR!.
Solution : Vérifie que ta cellule contient bien une date reconnue. Utilise =ESTNOMBRE(A1) : si le résultat est VRAI, c'est une vraie date. Sinon, convertis le texte avec =DATEVAL("15/01/2024") ou reconstruit la date avec =DATE(2024; 1; 15).
Résultat affiché comme un numéro de série (ex : 45323)
Excel stocke les dates comme des nombres entiers. Si la cellule de résultat est formatée en « Général » ou « Nombre », elle affiche ce numéro au lieu d'une date lisible.
Solution : Sélectionne la cellule, fais Ctrl+1, choisis « Date » et le format souhaité (ex : jj/mm/aaaa). Le numéro se transforme instantanément en date lisible.
Date différente de celle attendue sur les fins de mois
Si tu pars du 31 janvier et ajoutes 1 mois, Excel ne peut pas renvoyer le 31 février qui n'existe pas. Il ajuste au dernier jour du mois cible (28 ou 29 février).
Solution : Ce comportement est normal et voulu. Si tu veux toujours tomber sur le dernier jour du mois, utilise plutôt FIN.MOIS(date; mois). Si tu veux un jour fixe du mois quelle que soit la date de départ, combine MOIS.DECALER avec la fonction DATE.
MOIS.DECALER vs FIN.MOIS vs DATE
Les trois fonctions manipulent les dates par mois, mais avec des résultats différents selon ce que tu veux garder ou contrôler.
| Critère | MOIS.DECALER | FIN.MOIS | DATE |
|---|---|---|---|
| Jour conservé | Oui (même jour) | Non (dernier jour) | Tu choisis |
| Décalage en mois | Direct | Direct | Calcul manuel |
| Gestion années bissextiles | Automatique | Automatique | À gérer manuellement |
| Recul dans le temps | Oui (nombre négatif) | Oui (nombre négatif) | Oui (mais plus complexe) |
| Cas d'usage typique | Contrats, échéances fixes | Clôtures comptables | Dates entièrement personnalisées |
Astuces avancées avec MOIS.DECALER
Combiner MOIS.DECALER et FIN.MOIS pour les clôtures de trimestre
Tu peux imbriquer les deux fonctions : =FIN.MOIS(MOIS.DECALER(A1; 3); 0) te donne le dernier jour du mois, exactement 3 mois après la date en A1. Pratique pour calculer des dates de clôture trimestrielle à partir de n'importe quelle date de départ.
Tu obtiens la souplesse de MOIS.DECALER pour le décalage et la précision de FIN.MOIS pour le jour.
Préférer MOIS.DECALER à +365 pour les anniversaires annuels
Pour calculer une date exactement un an plus tard, utilise =MOIS.DECALER(date; 12) plutôt qu'ajouter 365 ou 366 jours. Les années bissextiles sont gérées automatiquement : tu retombes toujours sur le même jour du mois.
Ajouter 365 jours te ferait atterrir sur le mauvais jour certaines années.
Utiliser ESTNOMBRE pour valider une date avant de calculer
Avant d'appliquer MOIS.DECALER sur une plage import ée ou saisie à la main, teste si tes cellules contiennent de vraies dates : =ESTNOMBRE(A1) renvoie VRAI pour une date reconnue, FAUX pour du texte.
Un seul texte déguisé en date suffit à déclencher une #VALEUR! sur toute une colonne.
Questions fréquentes sur la fonction MOIS.DECALER
Quelle est la différence entre MOIS.DECALER et FIN.MOIS ?
MOIS.DECALER conserve le jour de la date d'origine. Si tu pars du 15 janvier et avances de 3 mois, tu obtiens le 15 avril. FIN.MOIS renvoie toujours le dernier jour du mois cible, peu importe le jour de départ.
Utilise MOIS.DECALER pour les contrats et abonnements où le jour du mois compte, et FIN.MOIS pour les clôtures comptables ou les calculs de fin de période.
Que se passe-t-il si le jour n'existe pas dans le mois cible ?
Excel ajuste automatiquement vers le dernier jour du mois. Par exemple, le 31 janvier décalé d'un mois donne le 29 février en année bissextile, ou le 28 février en année normale.
C'est un comportement voulu pour éviter les erreurs. Si tu veux toujours le dernier jour du mois de destination, utilise plutôt FIN.MOIS.
Puis-je utiliser des nombres négatifs avec MOIS.DECALER ?
Oui. Un nombre négatif recule dans le temps : -3 remonte de 3 mois, -12 recule d'un an, -24 recule de 2 ans. Il n'y a pas de limite.
C'est très utile pour les rétroplannings de projet ou pour retrouver des dates passées à partir d'une ancienneté en mois.
MOIS.DECALER gère-t-elle les années bissextiles ?
Oui, automatiquement. Si tu décales le 29 février 2024 (année bissextile) de 12 mois, tu obtiendras le 28 février 2025 car le 29 février n'existe pas en 2025.
C'est précisément pour ça qu'on préfère MOIS.DECALER à l'ajout de 365 jours pour les calculs d'anniversaire annuel.
Comment calculer une date dans 18 mois exactement ?
Utilise =MOIS.DECALER(A1; 18) où A1 contient ta date de départ. Il n'y a pas de limite sur le nombre de mois.
Si tu veux garder la formule dynamique, stocke le nombre 18 dans une cellule et référence-la : =MOIS.DECALER(A1; B1). Tu pourras changer la durée sans modifier la formule.
Pour aller plus loin
Les fonctions similaires : FIN.MOIS, DATEDIF, AUJOURDHUI, JOUR, MOIS
Bloqué sur une formule Excel ?
Pose ta question à notre assistant Excel IA, il te sort la bonne formule en quelques secondes.
Essayer l'assistant IAGratuit · 10 questions par mois

