MOIS.DECALER : La formule Excel pour décaler facilement vos dates de plusieurs mois
=MOIS.DECALER(date_début; mois)La formule MOIS.DECALER est un outil indispensable pour tous les utilisateurs d'Excel qui travaillent régulièrement avec des dates. Elle permet de calculer automatiquement une nouvelle date en ajoutant ou en soustrayant un nombre de mois à une date de référence, sans avoir à effectuer des calculs manuels complexes. Cette formule est particulièrement utile dans les contextes professionnels où les délais de paiement, les échéances de contrats, ou les planifications de projets sont exprimés en mois. Que vous soyez gestionnaire de projet, responsable des ressources humaines, ou analyste financier, MOIS.DECALER simplifie vos calculs de dates et réduit considérablement les risques d'erreur. Au lieu de jongler avec des formules complexes combinant les fonctions DATE, MOIS et ANNEE, vous pouvez résoudre votre problème en une seule ligne de code Excel. Cette formule fonctionne de manière intuitive : elle prend une date de départ et un nombre de mois, puis retourne la date correspondante. Dans ce guide complet, nous explorons tous les aspects de MOIS.DECALER, des cas d'usage basiques aux applications avancées, en passant par les pièges courants et les astuces de pro pour optimiser vos feuilles de calcul.
Syntaxe et paramètres
La syntaxe de MOIS.DECALER est simple et épurée : =MOIS.DECALER(date_début; mois). Le premier paramètre, date_début, est obligatoire et représente la date de référence à partir de laquelle le calcul s'effectuera. Cette date peut être saisie directement (au format DATE), référencée via une cellule, ou obtenue par une autre formule. Le second paramètre, mois, est également obligatoire et correspond au nombre de mois à ajouter ou soustraire. Un nombre positif ajoute des mois à la date de départ, tandis qu'un nombre négatif en soustrait. Un point crucial à comprendre : MOIS.DECALER retourne toujours le dernier jour du mois de destination si la date de départ est elle-même le dernier jour d'un mois. Par exemple, si vous décalez le 31 janvier de 1 mois, vous obtiendrez le 28 février (ou 29 en année bissextile), pas le 31 février qui n'existe pas. Cette comportement intelligent prévient les erreurs de calcul. Les deux paramètres doivent être des valeurs numériques valides : une date pour le premier, un entier pour le second. Si vous utilisez des références de cellules, assurez-vous qu'elles contiennent les bonnes données. La formule est disponible dans toutes les versions modernes d'Excel, du moins depuis Excel 2007.
start_datemonthsExemples pratiques
Calcul de date d'échéance de paiement
=MOIS.DECALER(A2;2)La cellule A2 contient la date de facturation (par exemple 15/01/2024). La formule ajoute 2 mois à cette date pour obtenir la date d'échéance.
Planification de renouvellement de contrat
=MOIS.DECALER(B5;12)La cellule B5 contient la date de signature du contrat. La formule calcule automatiquement la date d'expiration après 12 mois.
Calcul de date de révision salariale antérieure
=MOIS.DECALER(AUJOURD'HUI();-6)La fonction AUJOURD'HUI() fournit la date actuelle, et le paramètre -6 soustrait 6 mois pour obtenir la date de révision antérieure.
Points clés à retenir
- MOIS.DECALER (ou EDATE) est la solution la plus simple et la plus fiable pour ajouter ou soustraire des mois à une date en Excel
- La formule gère intelligemment les débordements de mois : décaler le 31 janvier d'un mois retourne le 28/29 février, pas une erreur
- Utilisez des nombres négatifs pour soustraire des mois, ce qui rend la formule bidirectionnelle et très flexible
- Combinez MOIS.DECALER avec d'autres fonctions (SI, AUJOURD'HUI, JOUR.FIN.MOIS) pour créer des logiques métier complexes et automatisées
- Cette formule est disponible dans toutes les versions modernes d'Excel (2007+), Google Sheets, et LibreOffice, la rendant universelle pour le partage de fichiers
Astuces de pro
Utilisez des références absolues pour les dates de référence ($A$1) et des références relatives pour les nombres de mois afin de faciliter la copie de formules dans plusieurs cellules sans erreur.
Impact : Gagne du temps lors de la création de chronologies ou de tableaux de bord avec plusieurs dates décalées, en évitant les erreurs de référence.
Combinez MOIS.DECALER avec JOUR.FIN.MOIS pour garantir que vos dates d'échéance tombent toujours en fin de mois : =JOUR.FIN.MOIS(MOIS.DECALER(A2;3);0)
Impact : Assure la conformité avec les politiques comptables ou contractuelles qui exigent des dates d'échéance en fin de mois, éliminant les ambiguïtés.
Testez le comportement des années bissextiles en décalant des dates du 29 février pour vérifier que votre logique de calcul fonctionne correctement sur plusieurs années.
Impact : Prévient les bugs subtils qui n'apparaissent qu'une fois tous les 4 ans, améliorant la robustesse de vos modèles financiers ou de planification.
Utilisez MOIS.DECALER avec TEXT pour formater automatiquement les dates décalées : =TEXT(MOIS.DECALER(A2;3);"DD/MM/YYYY") pour un affichage cohérent.
Impact : Crée des rapports professionnels avec une mise en forme cohérente, sans avoir à formater manuellement chaque cellule de date.
Combinaisons utiles
Vérifier si une date décalée est dans le futur
=SI(MOIS.DECALER(A2;6)>AUJOURD'HUI();"Futur";"Passé")Cette combinaison décale la date en A2 de 6 mois, puis la compare avec la date actuelle. Elle retourne "Futur" si la date décalée est postérieure à aujourd'hui, sinon "Passé". Utile pour les alertes de dates limites ou d'échéances.
Calculer le nombre de mois entre deux dates
=MOIS(MOIS.DECALER(A2;12))-MOIS(A2)Cette formule décale la date de 12 mois puis extrait le mois. Combinée avec d'autres calculs, elle permet de déterminer des intervalles de temps. Plus couramment, utilisez =DATEDIF(A2;B2;"M") pour compter les mois entre deux dates.
Créer une chronologie de dates mensuelles
=MOIS.DECALER($A$1;LIGNE()-1)Placez cette formule dans la colonne B à partir de la ligne 2. Elle génère automatiquement une série de dates mensuelles en décalant la date de référence (A1) par le numéro de ligne. Idéale pour créer des calendriers ou des plannings mensuels sans copier-coller répétitif.
Erreurs courantes
Cause : Le paramètre date_début n'est pas reconnu comme une date valide, ou le paramètre mois n'est pas un nombre. Par exemple, si vous écrivez =MOIS.DECALER("01/01/2024";"3"), Excel ne comprendra pas la chaîne de caractères comme nombre.
Solution : Assurez-vous que le premier paramètre est une date valide (utilisez DATE() si nécessaire) et que le second est un nombre entier sans guillemets. Utilisez =MOIS.DECALER(DATE(2024;1;1);3) ou =MOIS.DECALER(A2;3) où A2 contient un nombre.
Cause : La formule référence une cellule qui n'existe pas ou qui a été supprimée. Par exemple, si vous écrivez =MOIS.DECALER(Z999;5) et que cette cellule n'existe pas, ou si vous copiez la formule et qu'une référence devient invalide.
Solution : Vérifiez que toutes les cellules référencées existent et contiennent des données valides. Utilisez des références absolues ($A$2) si vous copiez la formule pour éviter que les références ne se décalent involontairement.
Cause : Excel ne reconnaît pas le nom de la fonction. Cela peut survenir si vous utilisez un nom incorrect, une mauvaise orthographe, ou si vous travaillez dans une version d'Excel très ancienne qui ne supporte pas cette fonction.
Solution : Vérifiez l'orthographe exacte : MOIS.DECALER (avec le point). Si vous utilisez Excel 2003 ou antérieur, cette fonction n'existe pas ; utilisez plutôt DATE(ANNEE(date);MOIS(date)+mois;JOUR(date)).
Checklist de dépannage
- 1.Vérifiez que le premier paramètre est bien une date valide (utilisez =ETAT(A2) pour tester si c'est une date)
- 2.Assurez-vous que le second paramètre est un nombre entier sans guillemets ou symboles
- 3.Confirmez que la formule utilise le bon séparateur : point-virgule (;) en français, virgule (,) en anglais
- 4.Testez avec des valeurs en dur (=MOIS.DECALER(DATE(2024;1;15);3)) pour isoler les problèmes de référence
- 5.Vérifiez le format de cellule : changez-le en Format de Date si le résultat affiche un nombre au lieu d'une date
- 6.Contrôlez que vous n'avez pas accidentellement supprimé ou renommé les cellules référencées, ce qui causerait une erreur #REF!
Cas particuliers
Décaler le 31 janvier d'un mois
Comportement : Retourne le 28 février (ou 29 en année bissextile), car février n'a pas 31 jours
Solution : C'est le comportement attendu et correct. Si vous avez besoin du dernier jour du mois, utilisez JOUR.FIN.MOIS.
Ce comportement prévient les erreurs de date invalides et est conforme aux standards de calcul de dates.
Décaler une date avec un nombre de mois très grand (ex: 1200 mois = 100 ans)
Comportement : Excel traite correctement les grands décalages, retournant une date valide même après 100 ans
Solution : Aucune solution nécessaire ; la formule fonctionne correctement. Cependant, vérifiez que votre analyse commerciale a du sens sur une telle période.
Les limites de dates d'Excel vont de 1900 à 9999, donc les décalages extrêmes peuvent atteindre ces limites.
Utiliser MOIS.DECALER avec des dates au format texte (ex: "15/01/2024")
Comportement : Génère une erreur #VALEUR! car Excel ne reconnaît pas la chaîne comme date
Solution : Convertissez le texte en date avec DATEVALUE : =MOIS.DECALER(DATEVALUE(A2);3), ou utilisez DATE() pour construire la date manuellement.
Toujours s'assurer que les entrées de date sont au format Date, pas au format Texte, pour éviter ce type d'erreur.
Limitations
- •MOIS.DECALER ne fonctionne que pour des décalages en mois entiers ; il n'existe pas de paramètre pour les jours ou les semaines. Pour des calculs plus fins, utilisez DATE ou des formules combinées.
- •La formule retourne toujours une date ; elle ne peut pas calculer directement le nombre de mois entre deux dates. Utilisez DATEDIF pour cela : =DATEDIF(A2;B2;"M").
- •En Excel très ancien (avant 2007), MOIS.DECALER n'existe pas. Vous devez utiliser des formules alternatives combinant DATE, MOIS, ANNEE, et JOUR, ce qui est plus complexe et sujet aux erreurs.
- •La formule ne gère pas les calendriers non grégoriens (hébraïque, islamique, etc.). Elle fonctionne uniquement avec le calendrier grégorien standard utilisé par Excel.
Alternatives
Plus flexible pour les versions très anciennes d'Excel qui ne supportent pas MOIS.DECALER. Permet des calculs personnalisés sur chaque composante de la date.
Quand : Utilisez =DATE(ANNEE(A2);MOIS(A2)+3;JOUR(A2)) pour décaler de 3 mois. Attention : cette méthode ne gère pas correctement les débordements de mois.
Identique à MOIS.DECALER mais avec un nom plus court. Fonctionne dans toutes les versions modernes d'Excel et Google Sheets.
Quand : Utilisez =EDATE(A2;3) comme alternative directe. Particulièrement utile si vous travaillez dans un environnement multilingue ou si vous partagez des fichiers avec des utilisateurs anglophones.
Compatibilité
✓ Excel
Depuis 2007
=MOIS.DECALER(date_début;mois) ou =EDATE(date_début;mois)✓Google Sheets
=EDATE(date_début;mois) - utilise le nom anglaisLe séparateur dépend de vos paramètres régionaux (virgule ou point-virgule). Google Sheets reconnaît les deux noms EDATE et MOIS.DECALER selon la langue de l'interface.
✓LibreOffice
=EDATE(date_début;mois) - utilise généralement le nom anglais, mais peut accepter le nom localisé selon la langue d'installation