ElyxAI

Formule NO.SEMAINE.ISO : Calculer le numéro de semaine ISO 8601 en Excel

Intermédiaire
=NO.SEMAINE.ISO(date)

La formule NO.SEMAINE.ISO est un outil essentiel pour les professionnels travaillant avec des données internationales ou devant respecter la norme ISO 8601. Contrairement à la fonction WEEKNUM classique qui offre plusieurs systèmes de numérotation des semaines, NO.SEMAINE.ISO suit strictement la norme internationale ISO 8601, où la semaine commence le lundi et la première semaine de l'année est celle contenant le jeudi du 4 janvier. Cette formule est particulièrement utile dans les contextes professionnels exigeant une cohérence mondiale : gestion de projets internationaux, reporting financier consolidé, planification de supply chain ou analyse statistique. Elle résout les ambiguïtés des systèmes de numérotation locaux et garantit une interprétation unique des semaines calendaires. Si vous travaillez avec des données provenant de plusieurs pays ou devez exporter vos analyses vers des systèmes respectant ISO 8601, NO.SEMAINE.ISO devient indispensable pour éviter les erreurs de synchronisation et les malentendus sur les périodes de référence.

Syntaxe et paramètres

La syntaxe de NO.SEMAINE.ISO est remarquablement simple : =NO.SEMAINE.ISO(date). Le paramètre "date" est obligatoire et représente la date pour laquelle vous souhaitez connaître le numéro de semaine ISO. Le paramètre accepte plusieurs formats : une référence de cellule contenant une date (=NO.SEMAINE.ISO(A1)), une date littérale (=NO.SEMAINE.ISO("2024-03-15")) ou une fonction retournant une date (=NO.SEMAINE.ISO(TODAY())). Excel reconnaît automatiquement les formats de date valides. La formule retourne un nombre entier entre 1 et 53, représentant le numéro de la semaine ISO. Contrairement à d'autres systèmes, il n'y a pas de semaine 0 : les jours avant la première semaine ISO appartiennent à la semaine 52 ou 53 de l'année précédente. Conseil pratique : toujours vérifier que votre cellule est formatée en nombre et non en date. Si vous voyez une date au lieu d'un nombre, changez le format de la cellule. Pour les calculs combinés (semaine + année), associez NO.SEMAINE.ISO avec YEAR pour éviter les confusions lors des transitions d'années.

date
Date dont on veut le numéro de semaine ISO

Exemples pratiques

Suivi de projet international - Semaine de réunion

=NO.SEMAINE.ISO(DATE(2024,3,15))

Cette formule calcule le numéro de semaine ISO pour le 15 mars 2024. Comme cette date est un vendredi, elle appartient à la semaine ISO 11 de 2024.

Reporting hebdomadaire - Consolidation de données

=NO.SEMAINE.ISO(B2)&"-2024"

Cette formule combine le numéro de semaine ISO avec l'année pour créer un identifiant unique de semaine (ex: "12-2024"). Utile pour les clés de regroupement dans les tableaux croisés dynamiques.

Planification supply chain - Livraison hebdomadaire

=SI(WEEKDAY(A1,2)=1,NO.SEMAINE.ISO(A1),"Pas un lundi")

Cette formule vérifie d'abord que la date est un lundi (WEEKDAY=1 avec mode 2 où lundi=1), puis retourne la semaine ISO. Sinon, elle signale une anomalie.

Points clés à retenir

  • NO.SEMAINE.ISO retourne le numéro de semaine ISO 8601 (1-53), où la semaine commence lundi et la première semaine contient le 4 janvier.
  • Contrairement à WEEKNUM, NO.SEMAINE.ISO est déterministe internationalement et suit un standard unique, éliminant les ambiguïtés de numérotation.
  • Pour les identifiants uniques de semaine, combinez NO.SEMAINE.ISO avec YEAR en utilisant =YEAR(DATE(YEAR(date),1,4)+(NO.SEMAINE.ISO(date)-1)*7) pour gérer les transitions d'années.
  • NO.SEMAINE.ISO est disponible uniquement dans Excel 2013+ ; pour Google Sheets et LibreOffice, utilisez WEEKNUM mode 21 ou une formule personnalisée.
  • Testez vos formules sur les années à 53 semaines (2004, 2009, 2015, 2020, 2026) et les transitions de fin décembre/début janvier pour éviter les bugs.

Astuces de pro

Pour créer un lundi de début de semaine ISO, utilisez =A1-WEEKDAY(A1,2)+1. Cela recule toujours à la date du lundi de la semaine ISO courante.

Impact : Permet de créer des plages de dates cohérentes pour filtrer les données par semaine complète.

Mémorisez les années à 53 semaines ISO : elles suivent un cycle prévisible tous les 5-6 ans (2004, 2009, 2015, 2020, 2026). Testez vos formules sur ces années.

Impact : Évite les bugs sur les derniers jours de décembre de ces années où la semaine 53 existe.

Combinez NO.SEMAINE.ISO avec CONCATENATE pour créer des clés de regroupement uniques : =CONCATENATE(YEAR(DATE(YEAR(A1),1,4)+(NO.SEMAINE.ISO(A1)-1)*7)),"-S",NO.SEMAINE.ISO(A1)).

Impact : Crée des identifiants stables pour les tableaux croisés dynamiques et les jointures de données multi-sources.

Pour afficher "Semaine 1 de 2024" au lieu d'un simple numéro, utilisez =CONCATENATE("Semaine ",NO.SEMAINE.ISO(A1)," de ",YEAR(DATE(YEAR(A1),1,4)+(NO.SEMAINE.ISO(A1)-1)*7)).

Impact : Améliore la lisibilité des rapports et réduit les erreurs d'interprétation des utilisateurs finaux.

Combinaisons utiles

Identifiant ISO 8601 complet (YYYY-Www)

=YEAR(DATE(YEAR(A1),1,4)+(NO.SEMAINE.ISO(A1)-1)*7)&"-W"&TEXT(NO.SEMAINE.ISO(A1),"00")

Crée un identifiant au format ISO 8601 standard (ex: 2024-W12). Utile pour les exports de données, les API ou les rapports internationaux. Le YEAR complexe gère les transitions d'années.

Semaine ISO avec jour de la semaine

=NO.SEMAINE.ISO(A1)&" ("&TEXT(A1,"dddd")&")"

Combine le numéro de semaine ISO avec le nom du jour. Résultat : "12 (jeudi)". Idéal pour les calendriers, plannings ou communications auprès des utilisateurs.

Vérification de cohérence : même semaine ISO ?

=SI(NO.SEMAINE.ISO(A1)=NO.SEMAINE.ISO(B1),"Même semaine","Semaines différentes")

Compare deux dates pour vérifier si elles appartiennent à la même semaine ISO. Utile pour valider les regroupements de transactions, les périodes de projet ou les cycles de production.

Erreurs courantes

#VALUE!

Cause : Le paramètre date n'est pas reconnu comme une date valide. Cela survient avec des formats texte non standards ou des valeurs numériques invalides.

Solution : Vérifiez que la cellule est formatée en date. Utilisez DATE(année,mois,jour) pour construire explicitement une date. Testez avec TODAY() pour vérifier que la formule fonctionne.

#REF!

Cause : La cellule référencée n'existe pas ou a été supprimée. Par exemple, =NO.SEMAINE.ISO(Z999) si cette plage n'existe pas.

Solution : Vérifiez que la référence de cellule est correcte. Utilisez Ctrl+Maj+F9 pour recalculer. Recréez la formule en cliquant directement sur la cellule contenant la date.

Résultat affiché en date (ex: 45000)

Cause : La cellule est formatée en date au lieu de nombre. Excel interprète le résultat comme un numéro de série de date.

Solution : Cliquez droit sur la cellule, sélectionnez "Format de cellule", puis choisissez "Nombre" avec 0 décimales. La valeur s'affichera correctement.

Checklist de dépannage

  • 1.Vérifiez que la cellule source contient bien une date (formatée en date, pas en texte). Testez avec =ISNUMBER(A1) qui doit retourner VRAI.
  • 2.Confirmez que le résultat s'affiche en nombre (1-53), pas en date. Si c'est une date, changez le format de cellule en "Nombre".
  • 3.Testez avec une date connue : =NO.SEMAINE.ISO(DATE(2024,1,1)) doit retourner 1 (le 1er janvier 2024 est lundi, donc semaine 1).
  • 4.Vérifiez les transitions d'années : le 31 décembre 2023 appartient à la semaine 52 de 2023, et le 1er janvier 2024 à la semaine 1 de 2024.
  • 5.Si vous combinez avec YEAR, utilisez =YEAR(DATE(YEAR(A1),1,4)+(NO.SEMAINE.ISO(A1)-1)*7) pour obtenir l'année ISO correcte, pas simplement YEAR(A1).
  • 6.Testez vos formules sur les années à 53 semaines (2004, 2009, 2015, 2020, 2026) pour vérifier que la semaine 53 est bien gérée.

Cas particuliers

31 décembre 2023 (lundi)

Comportement : NO.SEMAINE.ISO retourne 1 (appartient à la semaine 1 de 2024, pas à 2023)

Solution : Utilisez =YEAR(DATE(YEAR(A1),1,4)+(NO.SEMAINE.ISO(A1)-1)*7) pour obtenir l'année ISO correcte (2024)

Les derniers jours de décembre peuvent appartenir à l'année ISO suivante.

1er janvier 2024 (lundi)

Comportement : NO.SEMAINE.ISO retourne 1 (première semaine de 2024)

Solution : Aucun problème ; c'est le comportement attendu ISO 8601

Le lundi 1er janvier commence toujours la semaine 1 de l'année ISO.

Année avec 53 semaines ISO (ex: 2020)

Comportement : 31 décembre 2020 (mercredi) retourne 53, pas 1

Solution : Vérifiez que votre logique de regroupement accepte la semaine 53 comme valeur maximale

Cela survient 5-6 fois par décennie. Les années 2004, 2009, 2015, 2020, 2026 ont 53 semaines ISO.

Limitations

  • NO.SEMAINE.ISO n'existe que dans Excel 2013+ ; les versions antérieures doivent utiliser WEEKNUM(date,21) ou une formule personnalisée.
  • La formule retourne seulement le numéro de semaine (1-53) sans l'année ISO. Pour un identifiant complet, vous devez combiner avec YEAR en utilisant une formule complexe.
  • NO.SEMAINE.ISO ne fonctionne pas avec les fuseaux horaires ou les heures ; elle traite toujours les dates comme des jours entiers à minuit.
  • Elle ne peut pas être utilisée pour créer directement une plage de dates (lundi-dimanche d'une semaine). Vous devez la combiner avec d'autres fonctions comme WEEKDAY pour recalculer les bornes.

Alternatives

Disponible dans toutes les versions d'Excel. Mode 21 de WEEKNUM utilise le système ISO (lundi=1).

Quand : Quand vous devez rester compatible avec Excel 2010 ou versions antérieures. Syntaxe : =WEEKNUM(date,21)

Fonctionne partout, y compris Google Sheets et LibreOffice. Permet une personnalisation complète.

Quand : Environnements multi-plateformes. Formule : =ROUNDUP((date-DATE(YEAR(date),1,1)-WEEKDAY(DATE(YEAR(date),1,1))+8)/7,0)

Très simple pour affichage rapide, intégré à la mise en forme.

Quand : Quand vous avez besoin du numéro de semaine simple sans calcul. Syntaxe : =TEXT(date,"WW") (moins précis que ISO)

Compatibilité

Excel

Depuis Excel 2013 (Office 365, 2016, 2019 et versions ultérieures)

=NO.SEMAINE.ISO(date)

Google Sheets

Non disponible

LibreOffice

Non disponible

Questions fréquentes

Maîtrisez les formules de date Excel avec les guides pratiques d'ElyxAI. Découvrez comment combiner NO.SEMAINE.ISO avec d'autres fonctions pour optimiser votre gestion de données internationales et automatiser vos reportings.

Explorer Date et heure

Formules connexes