Qu'est-ce que la fonction MOIS ?
Tu sors MOIS (MONTH en anglais) quand une date complète en dit trop et que tu ne veux garder que la période à laquelle elle appartient, sans te soucier du jour ni de l'année. C'est la brique de base dès que tu dois regrouper, filtrer ou comparer des dates par période plutôt que date par date.
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.

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.

Exemples pratiques pas à pas
Comment extraire le mois d'une date avec la fonction MOIS
La clôture approche et on te réclame le détail de ce que tu as facturé mois par mois. Ton tableau liste chaque facture avec son numéro, sa date, le client et le montant, et il te manque juste une colonne qui dise à quel mois chaque ligne appartient. La fonction MOIS lit la date et te renvoie ce numéro, de 1 pour janvier à 12 pour décembre.
- 1Dans une cellule, écris
=MOIS(. - 2En 1er argument : clique sur la cellule qui porte la date de la facture,
B2. En pointant la cellule plutôt qu'en retapant15/01/2024, tu gardes la colonne solidaire du tableau, et une date corrigée met son numéro de mois à jour toute seule. - 3Ferme la parenthèse et appuie sur Entrée, puis recopie la formule vers le bas. Les cinq factures reçoivent leur numéro de mois, de
1pour celle de janvier à5pour celle de mai.
=MOIS(B2)B2 et n'en garde que le mois, soit 1 pour le 15 janvier 2024. Peu importe le jour ou l'année, le résultat reste un entier de 1 (janvier) à 12 (décembre), donc la colonne est directement prête à trier, filtrer ou regrouper dans un tableau croisé dynamique.Comment afficher le mois en lettres avec les fonctions MOIS et CHOISIR
Ton récapitulatif part directement chez le client, et une colonne remplie de 1, de 2 et de 3 ne lui parle pas du tout. Tu as la date de chaque facture, et tu veux voir « janvier » puis « février » écrits en toutes lettres à côté du montant. La fonction MOIS donne le rang du mois, et ce rang sert à piocher le bon libellé dans une liste que tu écris toi-même.
- 1Dans une cellule, écris
=CHOISIR(. - 2En 1er argument : écris la fonction qui fournit le rang à aller chercher et referme-la,
MOIS(A2). La date du 15 janvier devient1, et c'est ce nombre que la fonction CHOISIR utilise pour piocher dans la liste qui suit. - 3En 2ᵉ argument : saisis le libellé du premier mois entre guillemets,
"janvier". C'est ce texte que la formule renvoie quand le rang vaut1, comme sur la facture du 15/01/2024. - 4En 3ᵉ argument : saisis le libellé du deuxième mois,
"février". Ce qui relie un libellé à un mois, c'est sa position dans la liste et non ce qui est écrit entre les guillemets. - 5En 4ᵉ argument : saisis le libellé du troisième mois,
"mars". C'est celui que reçoit la facture du 28/03/2024. - 6En 5ᵉ argument : saisis le libellé du quatrième mois,
"avril". Le quatrième libellé est le cinquième argument, car le rang calculé par la fonction MOIS occupe déjà la première place. - 7En 6ᵉ argument : saisis le libellé du cinquième mois,
"mai". C'est le dernier que ce tableau utilise, puisque aucune facture n'y dépasse le 07/05/2024. - 8En 7ᵉ argument : saisis le libellé du sixième mois,
"juin". Aucune ligne ne l'affiche aujourd'hui, mais la liste doit couvrir l'année entière pour accueillir les factures à venir. - 9En 8ᵉ argument : saisis le libellé du septième mois,
"juillet". Tu écris chaque mois exactement comme tu veux le lire dans la colonne. - 10En 9ᵉ argument : saisis le libellé du huitième mois,
"août". L'accent circonflexe est un caractère comme un autre, et il ressort tel quel dans le résultat. - 11En 10ᵉ argument : saisis le libellé du neuvième mois,
"septembre". Rien n'impose la minuscule ici, car"Septembre"ou"sept."conviendraient aussi, à condition de garder la même convention sur les douze libellés. - 12En 11ᵉ argument : saisis le libellé du dixième mois,
"octobre". Les libellés se suivent dans l'ordre du calendrier, sans jamais sauter un rang. - 13En 12ᵉ argument : saisis le libellé du onzième mois,
"novembre". Un libellé oublié ferait remonter d'un rang tous ceux qui le suivent, et les derniers mois de l'année sortiraient sous un autre nom. - 14En 13ᵉ argument : saisis le libellé du douzième mois,
"décembre". La liste s'arrête là, car la fonction MOIS ne renvoie jamais de rang supérieur à12. - 15Ferme la parenthèse et appuie sur Entrée, puis recopie la formule vers le bas. Chaque facture affiche alors son mois en toutes lettres à côté de son montant.
=CHOISIR(MOIS(A2); "janvier"; "février"; "mars"; "avril"; "mai"; "juin"; "juillet"; "août"; "septembre"; "octobre"; "novembre"; "décembre")1 pointe le premier libellé, donc janvier. Tu gardes la main sur l'orthographe exacte (majuscule, abréviation, autre langue), et le texte obtenu est une vraie valeur que tu peux réutiliser ailleurs.Comment calculer le trimestre d'une date avec les fonctions MOIS et ARRONDI.SUP
Ton manager suit les ventes par trimestre et il veut le découpage avant la revue de performance. Tu as la date et le montant de chaque vente, mais rien n'indique à quel trimestre elles appartiennent, et tu ne vas pas répartir 300 lignes à la main. La fonction MOIS donne le numéro du mois, et il suffit d'un peu d'arithmétique pour le transformer en T1, T2, T3 ou T4.
- 1Dans une cellule, écris
=puis la lettre du trimestre entre guillemets,"T", et enchaîne avec l'esperluette&. Cette esperluette colle bout à bout ce qui la précède et ce qui la suit, si bien que la lettre et le nombre calculé arrivent dans la même cellule. - 2Écris ensuite
ARRONDI.SUP(, puis :- aEn 1er argument : écris le calcul à arrondir,
MOIS(A2)/3. La fonction MOIS ramène d'abord la date au numéro de son mois, et c'est ce numéro divisé par 3 qui entre dans l'arrondi. - bEn 2ᵉ argument : saisis le nombre de décimales à garder,
0. C'est ce zéro qui transforme le quotient en numéro de trimestre utilisable, sans laisser un0,33ou un1,67dans la colonne.
- aEn 1er argument : écris le calcul à arrondir,
- 3Ferme la parenthèse et appuie sur Entrée, puis recopie la formule vers le bas. La colonne affiche
T1pour les ventes de janvier et de mars,T2pour celle d'avril,T3pour celle de juillet etT4pour celle de novembre.
="T"&ARRONDI.SUP(MOIS(A2)/3;0)1, avril, mai et juin sur 2, et ainsi de suite jusqu'à 4. L'esperluette n'ajoute que l'habillage (la lettre T devant le chiffre).Comment comparer une date au mois actuel avec les fonctions MOIS, SI et AUJOURDHUI
Chaque début de mois tu envoies un message aux collègues qui fêtent leur anniversaire, et il y en a toujours un que tu oublies. Ta liste contient le nom de chaque employé et sa date de naissance complète, et tu veux qu'Excel te désigne les personnes concernées ce mois-ci sans que tu aies à trier quoi que ce soit. La fonction MOIS ramène chaque date de naissance à son numéro de mois, qu'il ne reste plus qu'à comparer au mois courant.
- 1Dans une cellule, écris
=SI(. - 2En 1er argument : écris la comparaison qui met le mois de naissance face au mois en cours,
MOIS(B2)=MOIS(AUJOURDHUI()). Le signe=pose ici une question, à laquelle Excel répondVRAIouFAUXavant de choisir l'un des deux textes qui suivent. - 3En 2ᵉ argument : saisis le texte à afficher quand la réponse est
VRAI,"Oui". Les guillemets sont obligatoires pour qu'Excel écrive le mot tel quel : sans eux, il y verrait un nom de plage qui n'existe pas et renverrait#NOM?. - 4En 3ᵉ argument : saisis le texte réservé aux autres lignes,
"Non". Sans ce troisième argument, les employés nés un autre mois afficheraient la valeur logiqueFAUXau lieu d'un mot lisible. - 5Ferme la parenthèse et appuie sur Entrée, puis recopie la formule vers le bas. Trois lignes passent à
Ouidans ce tableau, celles des trois anniversaires de mars.
=SI(MOIS(B2)=MOIS(AUJOURDHUI()); "Oui"; "Non")
Les 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.
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
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.
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.
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.
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.
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
Continue sur ta lancée après la fonction MOIS : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.
Tout voir




