Vous savez probablement que vous pouvez utiliser la fonction WEEKNUM pour renvoyer le numéro de semaine d’une année à une date donnée. Que faire si vous voulez faire l’inverse – pour déterminer le dernier jour d’une semaine donnée si tout ce que vous avez est le numéro de la semaine dans l’année? Par exemple, si vous deviez spécifier la semaine 37, vous aimeriez déterminer la date du dernier jour de cette semaine particulière.

Il n’y a pas de fonction intégrée pour déterminer la date souhaitée, mais il existe plusieurs façons d’aborder le problème et de le résoudre. Dans ces exemples, nous supposerons que l’année est dans la cellule A1 et le numéro de semaine souhaité est dans la cellule B1.

La première approche consiste à calculer le premier jour de l’année souhaitée, à ajouter sept jours pour chacune des semaines, puis à soustraire le nombre de jours de la semaine pour le premier jour de l’année.

=DATE(A1,1,1)+B1*7-WEEKDAY(DATE(A1,1,1))

Cette formule renvoie une date qui représente toujours le dernier jour de la semaine, si la semaine se termine un samedi. Si vous voulez que la semaine se termine un autre jour de la semaine, la formule devient plus complexe. Si vous voulez que la semaine se termine un dimanche, il vous suffit d’ajouter 1 à la formule:

=DATE(A1,1,1)+B1*7-WEEKDAY(DATE(A1,1,1))+1

En appliquant cette même logique, vous pourriez penser que vous pourriez comprendre les semaines se terminant le vendredi en soustrayant simplement 1 de la formule. Ce n’est pas le cas puisque vous utilisez le début de l’année comme base.

Si vous soustrayez 1, vous rencontrez le problème où le 1er janvier de n’importe quelle année est un samedi; si vous soustrayez 1, vous ne vous retrouvez pas avec le premier vendredi de l’année, mais vous vous retrouvez plutôt avec le 31 décembre de l’année précédente. Pour calculer les semaines se terminant le vendredi, vous avez besoin d’une formule beaucoup plus complexe:

=DATE(A1,1,6-WEEKDAY(DATE(A1,1,1))



((6-WEEKDAY(DATE(A1,1,1))<0)7)+1)+((B1-1)7)

Étant donné que certaines années ont 52 semaines et d’autres 53 – encore une fois selon que les semaines se terminent le vendredi, samedi ou dimanche -, il est judicieux de modifier les formules afin qu’elles vérifient si la date renvoyée se situe dans la même année que vous analysez. Si vous ne cochez pas cette case, les formules fournies jusqu’à présent renverront heureusement les dates de la semaine 73, de la semaine 89 ou de la semaine 123 d’une année donnée – elles ajustent simplement la date à l’année future appropriée.

Voici la formule pour les semaines se terminant le vendredi:

=IF(YEAR(DATE(A1,1,6-WEEKDAY(DATE(A1,1,1))



((6-WEEKDAY(DATE(A1,1,1))<0)7)+1)+((A1-1)7))=A1, DATE(A1,1,6-WEEKDAY(DATE(A1,1,1))+((6-WEEKDAY(DATE( A1,1,1))<0)7)+1)+((B1-1)7),"")

Si la date calculée n’est pas la même année que celle spécifiée dans la cellule A1, la formule ne renvoie rien. Voici la formule pour les semaines se terminant le samedi:

=IF(YEAR(DATE(A1,1,1)+B17-WEEKDAY(DATE(A1,1,1)))=A1, DATE(A1,1,1)+B17-WEEKDAY(DATE(A1,1,1)),"")

Enfin, voici la formule pour les semaines se terminant le dimanche:

=IF(YEAR(DATE(A1,1,1)+B17-WEEKDAY(DATE(A1,1,1))+1)=A1, DATE(A1,1,1)+B17-WEEKDAY(DATE(A1,1,1))+1,"")

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (12603) s’applique à Microsoft Excel 2007, 2010, 2013, 2016, 2019 et Excel dans Office 365. Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu d’Excel ici:

link: / excel-Calculating_the_Last_Day_in_a_Week_Number [Calcul du dernier jour d’une semaine].