Ernest a besoin d’une formule ou d’une macro pour déterminer d’abord le Nième dimanche de l’année (disons le 23e dimanche de l’année), puis renvoyer le nom du mois dans lequel ce dimanche se produit. Il ne sait pas comment une telle formule ou macro serait construite.

Cette tâche pourrait être accomplie avec une macro, mais elle est très facile à accomplir avec une formule, nous allons donc suivre cette voie. Étant donné qu’Excel utilise des numéros de série pour les dates, il est très facile de faire les calculs nécessaires pour comprendre des choses telles que le Nième dimanche.

L’astuce pour trouver la bonne formule est de déterminer le dernier dimanche de l’année précédente. (Oui, le dernier dimanche.) Cela peut être fait de plusieurs façons, mais voici une bonne méthode, en supposant que l’année à quatre chiffres que vous voulez est stockée dans la cellule A1:

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

Cela fonctionne car la fonction WEEKDAY, par défaut, renvoie une valeur de 1 à 7 (du dimanche au samedi). Disons, par exemple, que l’année dans A1 est 2019. Cela signifie que WEEKDAY renverra la valeur 3 pour le 1er janvier 2019, ce qui signifie qu’il tombe un mardi. Soustrayez 1 de cela, vous donnant 2, que vous soustrayez ensuite de la date réelle du 1er janvier. Le résultat est la date du dernier dimanche de 2018, soit le 30 décembre.

Avec cette date en main, tout ce que vous avez à faire est de multiplier le numéro du dimanche souhaité (disons que c’est dans la cellule B1) par 7. Ajoutez-le à la date calculée ci-dessus, et vous avez la date du Nième dimanche dans l’année souhaitée:

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

À ce stade, vous avez deux options. La première est que vous pouvez appliquer un format personnalisé à la cellule dans laquelle se trouve la formule ci-dessus. L’utilisation d’un format personnalisé de « mmmm » affichera le résultat sous forme de nom de mois complet. J’ai tendance à préférer l’option alternative, qui consiste à envelopper la formule entière dans la fonction TEXT, de cette manière:

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

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (1564) s’applique à Microsoft Excel 2007, 2010, 2013, 2016, 2019 et Excel dans Office 365.