ElyxAI

Formule NO.SEMAINE : Calculer le Numéro de Semaine en Excel

Intermédiaire
=NO.SEMAINE(numéro_de_série; [type_retour])

La formule NO.SEMAINE est un outil indispensable pour tous les utilisateurs Excel qui travaillent avec des données temporelles. Elle permet de convertir une date quelconque en son numéro de semaine correspondant, ce qui s'avère extrêmement utile dans de nombreux contextes professionnels. Que vous gériez un planning de projet, analysiez des données de ventes hebdomadaires ou organisiez des calendriers d'événements, cette fonction vous permet d'extraire facilement l'information de semaine d'une date. Cette formule existe depuis longtemps dans Excel et a été intégrée dans toutes les versions modernes. Elle fonctionne en convertissant une date en un numéro de semaine selon différents systèmes de numérotation disponibles. Le paramètre optionnel return_type vous permet de choisir entre le système ISO 8601 (normes internationales) ou les systèmes américains, offrant une flexibilité maximale selon vos besoins. Comprendre comment utiliser NO.SEMAINE correctement peut transformer votre manière de travailler avec les dates et améliorer significativement la qualité de vos analyses temporelles. C'est une formule simple en apparence, mais riche en possibilités quand on maîtrise ses paramètres et ses variantes.

Syntaxe et paramètres

La syntaxe de NO.SEMAINE est structurée autour de deux paramètres : le numéro de série (obligatoire) et le type de retour (optionnel). Le paramètre numéro_de_série représente la date dont vous souhaitez connaître le numéro de semaine. Ce paramètre accepte plusieurs formats : une cellule contenant une date, une formule qui retourne une date, ou directement une date au format texte. Excel convertit en interne cette date en numéro de série interne (nombre de jours écoulés depuis le 1er janvier 1900). Le paramètre return_type détermine le système de numérotation utilisé. La valeur 1 (ou omise par défaut) utilise le système américain où la semaine commence le dimanche. La valeur 2 utilise le système où la semaine commence le lundi, et la valeur 21 correspond à la norme ISO 8601 internationale. Ce dernier système est particulièrement important pour les entreprises opérant à l'international car il garantit une cohérence globale. Il est crucial de vérifier votre contexte métier avant de choisir le type de retour approprié, car un mauvais choix peut créer des incohérences dans vos rapports.

serial_number
Date dont on veut le numéro de semaine
return_type
Système de numérotation
Optionnel

Exemples pratiques

Déterminer la semaine d'une date de commande

=NO.SEMAINE(DATE(2024;3;15);1)

Cette formule calcule le numéro de semaine pour le 15 mars 2024 en utilisant le système américain (dimanche = premier jour). Le résultat indique que cette date correspond à la 11ème semaine de l'année.

Créer un rapport de ventes hebdomadaire avec norme ISO

=NO.SEMAINE(A2;21)

En utilisant le type 21, on obtient la semaine ISO 8601. Cette norme est essentielle pour les organisations internationales car elle garantit que la semaine 1 commence toujours le lundi et contient le premier jeudi de l'année.

Planifier un projet avec semaines commençant le lundi

=NO.SEMAINE(B5;2)

Le paramètre 2 utilise le système où la semaine commence le lundi, conforme aux conventions européennes. Cela facilite la communication avec les équipes locales et l'alignement des plannings.

Points clés à retenir

  • NO.SEMAINE convertit une date en numéro de semaine (1-53) en utilisant le format =NO.SEMAINE(date; type_retour)
  • Le type de retour est crucial : type 1 (américain, dimanche premier), type 2 (lundi premier) ou type 21 (ISO 8601 international)
  • Pour les contextes internationaux, privilégiez le type 21 (ISO 8601) qui garantit une cohérence globale et une numérotation prévisible
  • NO.SEMAINE se combine efficacement avec YEAR(), CONCATENATE() et d'autres fonctions pour créer des identifiants temporels ou des rapports formatés
  • Les erreurs courantes (#VALUE!, #REF!) proviennent généralement de dates mal formatées ou de paramètres invalides - testez avec TODAY() pour isoler les problèmes

Astuces de pro

Utilisez NO.SEMAINE(TODAY();21) pour connaître instantanément la semaine ISO en cours. Vous pouvez ajouter cette formule dans une cellule de titre de rapport pour un contexte temporel automatique.

Impact : Gagne du temps et assure que vos rapports affichent toujours la semaine actuelle sans mise à jour manuelle. Améliore la traçabilité des données.

Créez une table de conversion semaine-date en utilisant =DATE(2024;1;1)+(ROW()-1) en colonne A et =NO.SEMAINE(A1;21) en colonne B. Copiez sur 365 lignes pour avoir une référence complète.

Impact : Vous disposez d'une ressource interne pour valider rapidement les numéros de semaine et déboguer les problèmes. Très utile pour former les collègues aux subtilités des calendriers.

Attention au changement d'année: la semaine 1 de l'année suivante débute généralement avant le 1er janvier. Utilisez =IF(NO.SEMAINE(A1;21)=1;YEAR(A1)+1;YEAR(A1)) pour obtenir l'année correcte associée à chaque semaine ISO.

Impact : Évite les erreurs d'analyse chronologique et assure la cohérence des rapports année-sur-année. Critique pour les analyses financières précises.

Utilisez le type 2 (lundi = premier jour) pour les contextes européens et type 1 pour les contextes nord-américains. Documentez votre choix dans les commentaires de formule pour éviter les confusions.

Impact : Prévient les malentendus lors du partage de fichiers avec des collègues internationaux. Assure une cohérence métier alignée avec les conventions locales.

Combinaisons utiles

Combiner NO.SEMAINE avec YEAR pour créer un identifiant unique par semaine

=YEAR(A1)&"-S"&NO.SEMAINE(A1;21)

Cette combinaison crée un identifiant unique pour chaque semaine au format "2024-S11". Très utile pour créer des clés de regroupement dans des analyses de données ou des rapports. Permet de grouper facilement les données par année et semaine.

Utiliser NO.SEMAINE avec IF pour créer des trimestres

=IF(NO.SEMAINE(A1;1)<=13;"Q1";IF(NO.SEMAINE(A1;1)<=26;"Q2";IF(NO.SEMAINE(A1;1)<=39;"Q3";"Q4")))

Cette formule convertit le numéro de semaine en trimestre. Pratique pour les analyses financières où vous devez regrouper les données par trimestre mais disposez de données par semaine.

Combiner NO.SEMAINE avec CONCATENATE pour créer des étiquettes lisibles

="Semaine "&NO.SEMAINE(A1;2)&" de "&TEXT(A1;"MMMM YYYY")

Crée des étiquettes formatées comme "Semaine 12 de mars 2024". Excellente pour les rapports destinés à des non-techniciens ou pour des tableaux de bord visuels. Améliore la lisibilité des données temporelles.

Erreurs courantes

#VALUE!

Cause : Le paramètre numéro_de_série contient un texte non reconnu comme date, ou le paramètre return_type contient une valeur invalide (autre que 1, 2, 11-17, 21).

Solution : Vérifiez que la date est au format correct. Utilisez DATE() pour créer une date valide. Pour return_type, utilisez uniquement les valeurs acceptées : 1, 2, 11-17 ou 21. Exemple correct : =NO.SEMAINE(DATE(2024;3;15);1)

#REF!

Cause : La cellule référencée dans le paramètre numéro_de_série a été supprimée ou la plage de référence n'existe plus.

Solution : Vérifiez que toutes les cellules référencées dans votre formule existent toujours. Utilisez le gestionnaire de noms pour identifier les références brisées. Recréez la formule en pointant vers la bonne cellule.

#NUM!

Cause : Le numéro de série est hors de la plage valide (avant 1900 ou après 9999) ou le paramètre return_type est un nombre valide mais mal utilisé.

Solution : Assurez-vous que la date est entre 1900 et 9999. Si vous utilisez un système de numérotation personnalisé (11-17), vérifiez la documentation Excel pour votre version. Utilisez =NO.SEMAINE(TODAY();1) pour tester avec la date du jour.

Checklist de dépannage

  • 1.Vérifiez que la cellule référencée contient réellement une date valide (format AAAA-MM-JJ ou reconnu par Excel), pas du texte qui y ressemble
  • 2.Confirmez que le paramètre return_type utilise une valeur acceptée (1, 2, 11-17 ou 21) et qu'elle correspond à vos besoins métier
  • 3.Testez la formule avec =NO.SEMAINE(TODAY();1) pour isoler les problèmes - si cela fonctionne, le problème vient de votre source de données
  • 4.Vérifiez les paramètres régionaux d'Excel (Fichier > Options > Paramètres régionaux) car ils peuvent affecter l'interprétation des dates texte
  • 5.Utilisez ISNUMBER() pour vérifier que votre cellule de date est bien un nombre : =IF(ISNUMBER(A1);NO.SEMAINE(A1;1);"Date invalide")
  • 6.Contrôlez que vous n'avez pas de références circulaires - une formule ne doit pas référencer sa propre cellule directement ou indirectement

Cas particuliers

Date du 31 décembre 2023 avec type 21 (ISO 8601)

Comportement : Retourne 52 (ou 53 selon l'année) car le 31 décembre peut faire partie de la dernière semaine de l'année précédente selon la norme ISO

Solution : Utilisez =YEAR(A1) + IF(NO.SEMAINE(A1;21)=1;1;0) pour obtenir l'année correcte associée à la semaine ISO

C'est un comportement attendu et correct selon ISO 8601 - la semaine 1 doit contenir le premier jeudi de l'année

Dates avant le 1er janvier 1900

Comportement : Retourne #NUM! car Excel ne reconnaît pas les dates antérieures à 1900

Solution : Stockez ces dates en texte et créez une logique personnalisée, ou utilisez des outils spécialisés. Excel n'est pas adapté pour les dates historiques antérieures à 1900.

C'est une limitation fondamentale du système de numérotation interne d'Excel basé sur 1900

Année avec 53 semaines (ex: 2020 avec type 1)

Comportement : Certaines années retournent 53 comme numéro de semaine maximum au lieu de 52

Solution : Vérifiez si votre logique suppose toujours 52 semaines maximum. Utilisez =IF(NO.SEMAINE(A1;1)=53;53;NO.SEMAINE(A1;1)) pour gérer explicitement ce cas

C'est normal - environ 1 année sur 6 a 53 semaines selon le système de numérotation utilisé

Limitations

  • NO.SEMAINE ne fonctionne que pour les dates entre 1900 et 9999 - impossible de traiter les dates historiques antérieures ou les dates très futures au-delà de 9999
  • La formule dépend fortement des paramètres régionaux d'Excel - une date texte peut être interprétée différemment selon les paramètres régionaux de l'utilisateur (JJ/MM/AAAA vs MM/JJ/AAAA)
  • NO.SEMAINE retourne toujours un nombre entre 1 et 53, mais certaines années n'ont que 52 semaines - votre logique doit gérer les deux cas pour éviter les erreurs d'analyse
  • La compatibilité entre Excel (NO.SEMAINE), Google Sheets (WEEKNUM) et LibreOffice (WEEKNUM) requiert une attention particulière aux paramètres car les syntaxes ne sont pas identiques - les fichiers convertis peuvent donner des résultats différents

Alternatives

Formule spécialisée pour la norme ISO 8601 uniquement, plus explicite et directe que NO.SEMAINE avec type 21.

Quand : Idéale quand vous travaillez exclusivement avec la norme ISO et souhaitez une clarté maximale du code. Disponible dans Excel 2013 et versions ultérieures.

Permet un contrôle granulaire et personnalisé du calcul du numéro de semaine selon vos règles métier spécifiques.

Quand : Quand vous avez des règles de numérotation personnalisées qui ne correspondent pas aux systèmes standards. Exemple : =ROUNDUP((DAY(A1)+WEEKDAY(DATE(YEAR(A1);1;1))-2)/7;0)

Offre une flexibilité maximale pour créer des systèmes de numérotation de semaines complètement personnalisés.

Quand : Pour les organisations ayant des années fiscales non-calendaires ou des calendriers commerciaux particuliers où les semaines ne correspondent pas aux normes.

Compatibilité

Excel

Depuis 2007

=NO.SEMAINE(numéro_de_série; [type_retour]) - Disponible dans toutes les versions modernes. ISOWEEKNUM disponible à partir de 2013.

Google Sheets

=WEEKNUM(date; [mode]) ou =ISOWEEKNUM(date) - Google Sheets utilise WEEKNUM au lieu de NO.SEMAINE. Les paramètres sont légèrement différents.

Google Sheets propose WEEKNUM avec des modes 1-17 (similaire à Excel) et ISOWEEKNUM pour ISO 8601. Attention à la syntaxe lors de la conversion de fichiers Excel vers Google Sheets.

LibreOffice

=WEEKNUM(date; [mode]) - LibreOffice Calc utilise WEEKNUM avec modes 1 et 2. ISOWEEKNUM est aussi disponible pour la norme ISO.

Questions fréquentes

Vous souhaitez maîtriser toutes les subtilités des formules Excel de date? Découvrez comment ElyxAI vous aide à optimiser vos analyses temporelles et vos rapports. Explorez nos ressources complètes et formules avancées sur ElyxAI pour transformer votre gestion de données.

Explorer Date et heure

Formules connexes