MOIS (MONTH en anglais) est l'une des fonctions de date les plus directes d'Excel : elle extrait le numéro du mois d'une date et te renvoie un nombre entre 1 (janvier) et 12 (décembre). Simple, mais essentielle dès que tu analyses des ventes, suis des échéances ou construis des rapports mensuels.
Concrètement, c'est elle qui te permet de regrouper tes factures par mois dans un tableau croisé dynamique, d'identifier automatiquement les employés dont c'est l'anniversaire ce mois-ci, de calculer le trimestre d'une date sans formule compliquée, ou de créer un identifiant unique 2024-03 pour éviter de confondre mars de deux années différentes.
Syntaxe de la fonction MOIS
=MOIS(numéro_de_série)Comprendre chaque paramètre de la fonction MOIS
numéro_de_série
: la date dont tu veux extraire le moisTu peux y mettre une référence à une cellule contenant une date comme A1, une fonction qui retourne une date comme AUJOURDHUI(), ou une date construite directement avec DATE(2024; 3; 15).
Excel stocke les dates sous forme de numéros entiers (le « numéro de série ») : le 1er janvier 1900 = 1, le 2 janvier 1900 = 2, et ainsi de suite. MOIS décode ce numéro pour en extraire le mois. Si tu passes une cellule vide (valeur 0), MOIS renvoie 1, car 0 correspond au 0 janvier 1900.
Astuce : Tu peux vérifier qu'une cellule contient bien une vraie date Excel en changeant temporairement son format en « Nombre ». Si tu vois un grand nombre (comme 45000), c'est une vraie date. Si rien ne change, c'est du texte et MOIS renverra #VALEUR!.
Pas envie d'écrire la formule MOIS à la main ?
Génère-la avec notre IAExemples pratiques pas à pas
Comptable : analyser les factures par mois
Tu es comptable et tu dois analyser les factures émises chaque mois pour créer un rapport de trésorerie mensuel. Tu as les dates de facturation et tu veux extraire le mois pour regrouper les montants.
| A | B | C | |
|---|---|---|---|
| 1 | Date facture | Montant | Mois |
| 2 | 15/01/2024 | 1 200 € | 1 |
| 3 | 03/02/2024 | 2 500 € | 2 |
| 4 | 28/02/2024 | 890 € | 2 |
| 5 | 12/03/2024 | 3 100 € | 3 |
=MOIS(A2)La fonction extrait le numéro du mois de la date en A2. Janvier donne 1, février 2, mars 3. Avec cette colonne « Mois », tu peux créer un tableau croisé dynamique qui groupe les montants par mois et voir ainsi les totaux de chaque période.
RH : identifier les anniversaires du mois en cours
Tu travailles aux ressources humaines et tu veux identifier automatiquement les employés dont c'est l'anniversaire ce mois-ci pour leur envoyer un message personnalisé.
| A | B | C | |
|---|---|---|---|
| 1 | Employé | Date naissance | Anniv ce mois ? |
| 2 | Marie Dubois | 15/03/1990 | Oui |
| 3 | Pierre Martin | 22/07/1985 | Non |
| 4 | Sophie Laurent | 08/03/1992 | Oui |
| 5 | Luc Bernard | 30/11/1988 | Non |
=SI(MOIS(B2)=MOIS(AUJOURDHUI()); "Oui"; "Non")La formule compare le mois de naissance avec le mois actuel. En mars, elle identifie Marie et Sophie, en juillet ce sera Pierre. Elle est entièrement dynamique : elle se met à jour automatiquement chaque mois sans que tu aies à la modifier.
Astuce de pro : Combine avec NBVAL et SOMME.SI pour créer un compteur dans ton tableau de bord : « Ce mois : 3 anniversaires ». Tu peux même connecter ce résultat à Power Automate pour envoyer des rappels automatiques.
Commercial : calculer le trimestre d'une date
Tu es commercial et ton manager veut suivre tes ventes par trimestre (T1 = jan-mars, T2 = avr-juin, etc.). Tu vas utiliser MOIS pour calculer le trimestre automatiquement à partir de n'importe quelle date.
| A | B | C | |
|---|---|---|---|
| 1 | Date vente | Montant | Trimestre |
| 2 | 15/01/2024 | 5 000 € | T1 |
| 3 | 22/04/2024 | 3 500 € | T2 |
| 4 | 08/03/2024 | 4 200 € | T1 |
| 5 | 15/07/2024 | 6 100 € | T3 |
="T"&ARRONDI.SUP(MOIS(A2)/3;0)Ici, la formule divise le mois par 3 et arrondit au supérieur. Janvier (mois 1) : 1÷3 = 0,33, arrondi = T1. Avril (mois 4) : 4÷3 = 1,33, arrondi = T2. La logique est infaillible pour les 12 mois.
Analyste de données : créer un identifiant unique année-mois
Tu es analyste de données et tu dois créer un identifiant unique pour chaque période mensuelle afin de regrouper des transactions de plusieurs années sans jamais confondre mars 2023 et mars 2024.
| A | B | C | |
|---|---|---|---|
| 1 | Date transaction | Montant | Période |
| 2 | 15/03/2024 | 1 200 € | 2024-03 |
| 3 | 22/03/2023 | 1 500 € | 2023-03 |
| 4 | 08/04/2024 | 890 € | 2024-04 |
=ANNEE(A2)&"-"&TEXTE(MOIS(A2);"00")La formule combine l'année et le mois avec un tiret. TEXTE avec le format "00" garantit que janvier s'affiche 01 et non 1, ce qui préserve l'ordre de tri alphabétique. Cet identifiant est parfait pour les tableaux croisés dynamiques et les graphiques temporels.
Astuce de pro : Tu peux aussi utiliser directement =TEXTE(A2;"aaaa-mm") qui donne le même résultat en une seule fonction. C'est plus court et tout aussi fiable.
Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes erreurs fréquentes avec la fonction MOIS
Avec MOIS, les ennuis viennent presque toujours de ce qu'on lui donne à manger, pas de la fonction elle-même. Si elle te renvoie #VALEUR!, c'est que ta « date » est en fait du texte qui lui ressemble : Excel ne sait pas en extraire le mois. Les deux autres pièges sont plus sournois car ils ne déclenchent aucune erreur : une date importée au format américain te donnera un mois faux sans broncher, et une cellule vide te sortira un 1 tout droit du 0 janvier 1900.
Erreur #VALEUR! : date stockée en texte
Si tu obtiens #VALEUR!, ta « date » est en réalité du texte. Excel ne peut pas extraire le mois d'un texte, même s'il ressemble à une date comme "15/03/2024".
Solution : Utilise DATEVAL pour convertir le texte en vraie date : =MOIS(DATEVAL(A1)). Ou sélectionne la colonne, va dans Données > Convertir et choisis le format de date approprié.
Résultats incohérents avec des dates au format américain
Si tu importes des données avec le format américain (MM/JJ/AAAA au lieu de JJ/MM/AAAA), Excel peut interpréter 03/12/2024 comme le 12 mars au lieu du 3 décembre. MOIS te donnera alors 3 au lieu de 12.
Solution : Vérifie le format de tes dates avant d'utiliser MOIS. Utilise Rechercher et remplacer avec les outils de conversion de date, ou reconstruit la date avec GAUCHE, STXT et DROITE pour t'assurer d'utiliser le bon ordre.
Cellule vide renvoie 1 au lieu d'un résultat vide
Si tu appliques MOIS à une cellule vide, Excel renvoie 1. Une cellule vide vaut 0, et 0 en date Excel correspond au 0 janvier 1900, donc MOIS = 1.
Solution : Protège ta formule avec SI : =SI(A1=""; ""; MOIS(A1)). Si A1 est vide, la formule renvoie vide ; sinon elle extrait le mois normalement.
MOIS vs JOUR vs ANNEE vs DATE vs MOIS.DECALER
Prends MOIS quand tu veux décomposer une date pour regrouper, filtrer ou calculer un trimestre ; JOUR et ANNEE jouent le même rôle pour le quantième et le millésime. Mais si ton besoin est de fabriquer une date plutôt que d'en extraire un morceau, change de camp : DATE assemble une date à partir de l'année, du mois et du jour, et MOIS.DECALER en avance ou recule une de quelques mois pour calculer une échéance.
| Fonction | Ce qu'elle fait | Exemple résultat | Quand l'utiliser |
|---|---|---|---|
| MOIS | Extrait le mois (1-12) | 3 | Regrouper par mois, filtrer, calculer un trimestre |
| JOUR | Extrait le jour (1-31) | 15 | Extraire le quantième du mois |
| ANNEE | Extrait l'année | 2024 | Regrouper par année, calculer un âge |
| DATE | Construit une date depuis année, mois, jour | 15/03/2024 | Créer des dates dans des formules |
| MOIS.DECALER | Ajoute ou retire des mois à une date | 15/06/2024 | Calculer des échéances, projections |
Astuces avancées avec MOIS
Calcule le dernier jour du mois avec FIN.MOIS
Pour obtenir le dernier jour du mois d'une date, combine MOIS avec FIN.MOIS : =FIN.MOIS(A1;0) te donne directement la date du dernier jour du mois de A1, quelle que soit l'année (utile pour les mois de 28, 29, 30 ou 31 jours).
Tu n'as pas besoin d'extraire le mois avec MOIS : FIN.MOIS travaille directement sur la date.
Compte les mois entre deux dates sans te tromper d'année
L'erreur classique est de faire MOIS(date2) - MOIS(date1), qui ne marche que si les deux dates sont dans la même année. Pour un calcul correct sur plusieurs années, utilise =(ANNEE(date2)-ANNEE(date1))*12 + MOIS(date2) - MOIS(date1).
Cette formule fonctionne de janvier 2023 à décembre 2025 sans jamais déraper.
Filtre un trimestre entier avec une seule règle de mise en forme
Pour surligner automatiquement toutes les dates du mois en cours dans un tableau, crée une règle de mise en forme conditionnelle avec la formule =MOIS($A1)=MOIS(AUJOURDHUI()). Ton tableau s'adapte tout seul chaque mois, sans intervention.
Le même principe s'applique pour filtrer un trimestre complet : teste =ARRONDI.SUP(MOIS($A1)/3;0)=2 pour mettre en évidence toutes les dates du T2.
Questions fréquentes sur la fonction MOIS
MOIS retourne-t-elle un nombre ou du texte ?
MOIS retourne toujours un nombre entre 1 et 12. Janvier = 1, février = 2, jusqu'à décembre = 12.
Si tu veux le nom du mois en texte, utilise la fonction TEXTE : =TEXTE(A1; "mmmm") pour le nom complet (« janvier ») ou =TEXTE(A1; "mmm") pour l'abréviation (« janv. »). Tu peux aussi créer une table de correspondance à 12 lignes et utiliser INDEX/EQUIV.
Comment obtenir le nom du mois au lieu du numéro ?
Utilise TEXTE directement sur la date : =TEXTE(A1; "mmmm") renvoie le nom complet en minuscules et =TEXTE(A1; "mmm") l'abréviation.
Il n'est pas nécessaire de passer par MOIS dans ce cas : TEXTE travaille directement sur la date et produit le texte formaté en une seule étape.
MOIS fonctionne-t-elle avec des textes qui ressemblent à des dates ?
Non, MOIS a besoin d'une vraie date Excel. Si tu as "15/03/2024" stocké en texte, tu dois d'abord le convertir avec DATEVAL : =MOIS(DATEVAL(A1)). Sinon tu obtiens #VALEUR!.
Vérifie si une cellule contient une vraie date en changeant son format en « Nombre » : si tu vois un entier autour de 45000, c'est une vraie date.
Comment grouper des données par mois dans un tableau croisé dynamique ?
Crée une colonne helper avec =MOIS(date) puis utilise cette colonne dans ton tableau croisé dynamique.
Encore mieux : utilise =TEXTE(date; "aaaa-mm") pour grouper par année ET mois simultanément, en évitant de confondre janvier 2023 et janvier 2024.
Peut-on utiliser MOIS avec AUJOURDHUI() ?
Absolument. =MOIS(AUJOURDHUI()) te donne le numéro du mois actuel, sans avoir à saisir la date.
C'est très pratique pour créer des filtres dynamiques ou des comparaisons : =SI(MOIS(A1)=MOIS(AUJOURDHUI()); "Ce mois"; "Autre mois") se met à jour automatiquement chaque mois.
Pour aller plus loin
Les fonctions similaires : ANNEE, JOUR, MOIS.DECALER, FIN.MOIS, AUJOURDHUI
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

