Numéro de semaine dans Excel, Google Sheets et LibreOffice
Mis à jour le 26 octobre 2026
Pour obtenir le numéro de semaine européen (ISO 8601) d'une date dans Excel, Google Sheets ou LibreOffice Calc, utilisez =NO.SEMAINE.ISO(A1), ou ISOWEEKNUM en anglais. La fonction NO.SEMAINE, sans second argument, applique le système américain (semaine commençant le dimanche) et donne souvent un résultat décalé d'une unité.
La fonction à utiliser : NO.SEMAINE.ISO
=NO.SEMAINE.ISO(A2)Si la cellule A2 contient une date, la formule renvoie un nombre de 1 à 53 calculé selon la norme ISO 8601 : semaine du lundi au dimanche, semaine 1 contenant le premier jeudi de janvier. C'est la numérotation des agendas en France, en Belgique et en Suisse.
| Logiciel | Nom en français | Nom en anglais |
|---|---|---|
| Excel 2013 et suivants, Microsoft 365 | NO.SEMAINE.ISO | ISOWEEKNUM |
| Google Sheets | NO.SEMAINE.ISO | ISOWEEKNUM |
| LibreOffice Calc | NO.SEMAINE.ISO | ISOWEEKNUM |
| Excel 2010 | NO.SEMAINE(date;21) | WEEKNUM(date,21) |
Dans une interface française, les arguments sont séparés par un point-virgule ; dans une interface anglaise, par une virgule. Google Sheets affiche les noms français ou anglais selon les paramètres régionaux de la feuille.
NO.SEMAINE et ses types 1, 2 et 21
NO.SEMAINE (WEEKNUM) accepte un second argument, le type de retour, qui fixe le premier jour de la semaine et le système de numérotation :
| Type | Début de semaine | Semaine 1 | Usage |
|---|---|---|---|
| 1 (ou omis) | Dimanche | Semaine contenant le 1er janvier | Système nord-américain |
| 2 | Lundi | Semaine contenant le 1er janvier | Ni ISO, ni américain |
| 11 à 17 | Lundi à dimanche | Semaine contenant le 1er janvier | Variantes |
| 21 | Lundi | Semaine contenant le premier jeudi | ISO 8601, identique à NO.SEMAINE.ISO |
Le type 2 est un piège fréquent : la semaine commence bien le lundi, mais la semaine 1 est toujours celle du 1er janvier, ce qui ne correspond pas à la norme ISO.
Comparaison sur des dates réelles
| Date | Jour | NO.SEMAINE (type 1) | NO.SEMAINE (type 2) | NO.SEMAINE.ISO |
|---|---|---|---|---|
| 04/01/2026 | dimanche | 2 | 1 | 1 |
| 31/12/2026 | jeudi | 53 | 53 | 53 |
| 01/01/2027 | vendredi | 1 | 1 | 53 |
| 03/01/2027 | dimanche | 2 | 1 | 53 |
| 04/01/2027 | lundi | 2 | 2 | 1 |
| 15/03/2027 | lundi | 12 | 12 | 11 |
| 31/12/2027 | vendredi | 53 | 53 | 52 |
En 2027, les types 1 et 2 donnent un numéro supérieur d'une unité à l'ISO pendant presque toute l'année. Vous pouvez contrôler un résultat avec le calculateur de semaine ou le calendrier 2027.
Formules utiles
Lundi de la semaine N d'une année
Avec l'année en A2 et le numéro de semaine ISO en B2 :
=DATE(A2;1;4)-JOURSEM(DATE(A2;1;4);2)+1+7*(B2-1)Le 4 janvier est toujours en semaine 1 ; la formule recule jusqu'au lundi de cette semaine, puis ajoute 7 jours par semaine. Exemple : année 2027, semaine 10, résultat lundi 8 mars 2027. Pour 2026, semaine 1, le résultat est le lundi 29 décembre 2025. Ajoutez 6 pour obtenir le dimanche de la même semaine.
Lundi de la semaine d'une date
=A2-JOURSEM(A2;2)+1JOURSEM avec le type 2 renvoie 1 pour le lundi et 7 pour le dimanche ; sans ce type, il renvoie 1 pour le dimanche.
Année ISO d'une date
=ANNEE(A2-JOURSEM(A2;2)+4)La formule prend le jeudi de la semaine, dont l'année est par définition l'année ISO. Pour le 1er janvier 2027, elle renvoie 2026.
Étiquette de semaine au format AAAA-Sxx
=ANNEE(A2-JOURSEM(A2;2)+4)&"-S"&TEXTE(NO.SEMAINE.ISO(A2);"00")Résultat pour le 1er janvier 2027 : 2026-S53. Pour le 26 octobre 2026 : 2026-S44. Cette clé se trie correctement et sert de base fiable à un tableau croisé dynamique.
Numéro ISO sans NO.SEMAINE.ISO
Pour un tableur très ancien ou un outil qui ne connaît pas la fonction :
=ENT((A2-JOURSEM(A2;2)+4-DATE(ANNEE(A2-JOURSEM(A2;2)+4);1;1))/7)+1On calcule le jeudi de la semaine, son rang dans son année, puis le nombre de semaines écoulées.
Semaine paire ou impaire
=SI(MOD(NO.SEMAINE.ISO(A2);2)=0;"paire";"impaire")Attention au passage d'une année à 53 semaines : la semaine 53 de 2026 et la semaine 1 de 2027 sont toutes deux impaires. Voir semaine paire ou impaire.
Numéro de la semaine en cours
=NO.SEMAINE.ISO(AUJOURDHUI())Erreurs fréquentes
Utiliser ANNEE avec NO.SEMAINE.ISO
Regrouper des données par ANNEE(date) et NO.SEMAINE.ISO(date) crée des semaines fantômes : le 1er janvier 2027 se retrouve dans « 2027, semaine 53 », alors que cette semaine appartient à 2026, et le 30 décembre 2024 dans « 2024, semaine 1 ». Utilisez toujours l'année ISO calculée plus haut.
Dates stockées en texte
Une date importée d'un CSV peut être du texte : NO.SEMAINE.ISO renvoie alors #VALEUR!. Testez avec ESTNUM(A2) ; convertissez avec DATEVAL ou l'outil Données > Convertir. Google Sheets recommande de construire les dates avec la fonction DATE.
Type de retour invalide
NO.SEMAINE avec un type autre que 1, 2, 11 à 17 ou 21 renvoie #NOMBRE! dans Excel.
Power Query et tableaux croisés
Dans Power Query, Date.WeekOfYear ne suit pas la norme ISO : la semaine 1 y est toujours celle du 1er janvier, même avec le lundi comme premier jour. Calculez la semaine ISO dans une colonne de la feuille ou avec une formule adaptée. De même, le regroupement par 7 jours d'un tableau croisé dynamique part de la première date des données, pas d'un lundi.
Années à 53 semaines oubliées
Un modèle de planning prévu pour 52 semaines perd la semaine 53 en 2026 et en 2032. La dernière semaine ISO d'une année s'obtient avec :
=NO.SEMAINE.ISO(DATE(A2;12;28))Le 28 décembre étant toujours dans la dernière semaine, le résultat vaut 52 ou 53. Liste complète : années à 53 semaines.
Correspondance des noms de fonctions
| Français | Anglais | Rôle |
|---|---|---|
| NO.SEMAINE.ISO | ISOWEEKNUM | Numéro de semaine ISO |
| NO.SEMAINE | WEEKNUM | Numéro de semaine selon le type |
| JOURSEM | WEEKDAY | Jour de la semaine (1 à 7) |
| ANNEE | YEAR | Année civile |
| DATE | DATE | Construit une date |
| AUJOURDHUI | TODAY | Date du jour |
| TEXTE | TEXT | Mise en forme |
| ENT | INT | Partie entière |
Questions fréquentes
Pourquoi Excel me donne-t-il un numéro de semaine décalé d'une unité ?
Vous utilisez probablement NO.SEMAINE sans second argument : Excel fait alors commencer la semaine le dimanche et compte la semaine du 1er janvier comme semaine 1. Utilisez NO.SEMAINE.ISO ou NO.SEMAINE(date;21) pour la numérotation européenne.
Quel est le nom anglais de NO.SEMAINE.ISO ?
ISOWEEKNUM. NO.SEMAINE correspond à WEEKNUM, JOURSEM à WEEKDAY, ANNEE à YEAR et ENT à INT. Dans une version anglaise, le séparateur d'arguments est la virgule au lieu du point-virgule.
NO.SEMAINE.ISO fonctionne-t-il dans Excel 2010 ?
Non, NO.SEMAINE.ISO est apparue avec Excel 2013. Dans Excel 2010, NO.SEMAINE(date;21) donne le même résultat.