#13 - Créer un calendrier dynamique episode 2

Intro

Ceci est le treizième challenge d'une série de challenges Excel créés spécialement pour découvrir modern Excel et booster vos compétences afin d'atteindre le niveau d'expert !

 

Rappel : qu'est-ce que le "modern Excel" ?

C'est une version du logiciel disponible avec Microsoft 365 proposant beaucoup de nouveautés.

Par exemple, on trouve de nombreuses nouvelles fonctions (RECHERCHEX,FILTRE, UNIQUE, MAP, etc.) très utiles ainsi qu'un mode de fonctionnement dynamique des résultats depuis une formule source (en savoir plus sur la propagation des formules Excel ici).

Ces nouveautés, intégrées au reste du logiciel, rendent Excel beaucoup plus pratique et efficace qu'auparavant.

Pour en savoir plus sur le modern Excel, tu peux cliquer ici.

 

Objectif du challenge

Dans ce challenge, l’objectif est d’afficher le calendrier d’une année.

Tu peux télécharger le fichier correspondant en bas de cette page. Pour t'aider tu peux aussi regarder la vidéo sur Youtube.

Ce challenge doit être réussi en utilisant une seule formule dans une seule cellule : la cellule F5

Le défi en plus : battre notre champion-maison, Martin qui a réussi ce challenge en utilisant 102 caractères !

Le défi ? Afficher un calendrier en partant d'un mois et d'une année

Ce que tu dois faire

Avec une seule formule dans la cellule F5 : Créer un calendrier de 31 lignes et 3 colonnes correspondant à toutes les dates de l'année et du mois ainsi que des deux mois suivants. Au delà du dernier jour de chaque mois, les lignes 29 à 31 de chaque colonne doivent faire apparaître un "X" (cf les dernières lignes du tableau vert).

Attention à la contrainte suivante : les cellules à indiquer sont B5 et B9.

 

Important : pour booster tes compétences dans le modern Excel, tu dois réussir ce challenge avec une seule formule saisie dans une seule cellule, sans étendre ta formule initiale vers le bas.

Ceci te permettra de pratiquer la propagation de résultats depuis une formule initiale.

La cellule à compléter est la cellule F5, qui doit produire sans être étendue autant de résultats que nécessaires.

Tu veux te challenger encore plus ? Essaye de faire autant, voire encore moins, que le record à battre  d'une formule de 102 caractères.

Maintenant, à toi de jouer !

La formule étape par étape pour obtenir ces résultats

#1 Afficher

Structurer un premier tableau correspondant au format du calendrier attendu sur 3 colonnes et 31 lignes.

=MAKEARRAY(31;3;LAMBDA(lig;col;col))

#2 Organiser

Ajouter -1 afin de démarrer le tableau à partir de 0.

=MAKEARRAY(31;3;LAMBDA(lig;col;col-1))

#3 Mensualiser

Introduire le mois de manière dynamique pour l'année.

=MAKEARRAY(31;3;LAMBDA(lig;col;MOIS(B9&1)+col-1))

#4 Dater

Introduire les jours de manière dynamique pour chacune des colonnes mensuelles.

=MAKEARRAY(31;3;LAMBDA(lig;col;DATE(B5;MOIS(B9&1)+col-1;lig)))

#5 Factoriser

Afficher les colonnes de résultat dans le bon ordre.

=MAKEARRAY(31;3;LAMBDA(lig;col;LET(lemois;MOIS(B9&1)+col-1;ladate;DATE(B5;lemois;lig);ladate)))

#6 Exclure

Insérer une condition permettant d'exclure les dates en dehors des mois affichés (par exemple sur février).

=MAKEARRAY(31;3;LAMBDA(lig;col;LET(lemois;MOIS(B9&1)+col-1;ladate;DATE(B5;lemois;lig);SI(ladate>FIN.MOIS(DATE(B5;lemois;1);0);"x";ladate))))

#7 Simplifier

Réduire les expressions de factorisation.

=MAKEARRAY(31;3;LAMBDA(l;c;LET(m;MOIS(B9&1)+c-1;d;DATE(B5;m;l);SI(d>FIN.MOIS(DATE(B5;m;1);0);"x";d))))

La formule finale en 102 caractères

=MAKEARRAY(31;3;LAMBDA(l;c;LET(m;MOIS(B9&1)+c-1;d;DATE(B5;m;l);SI(d>FIN.MOIS(DATE(B5;m;1);0);"X";d))))

Les fonctions et symboles importants utilisés

DATE

Permet de déterminer la valeur maximale parmi plusieurs valeurs, comme les valeurs d'une plage de cellules, en fonction d'un ou de plusieurs critères.

 

MAKEARRAY

Pour générer rapidement un tableau en à partir d'un nombre de lignes et de colonnes personnalisé tout en appliquant une fonction LAMBDA.

LAMBDA

Pour créer vos propres fonctions personnalisées à partir de variables définies par vos soins.

LET

Permet de créer une ou plusieurs variables pour simplifier une formule.

FIN.MOIS

Permet de trouver le dernier jour du mois à partir d'une date avec la possibilité de décaler le mois.

Rappel des 6 fonctions nécessitant un LAMBDA

Le modern Excel doit beaucoup à l'intégration dans le logiciel de beaucoup de nouvelles fonctions.

- MAP

- BYROW

- BYCOL

- MAKEARRAY

- SCAN

- REDUCE

 

Tu en découvriras beaucoup plus sur toutes ces fonctions et leurs possibilités en te testant au fur et à mesure des challenges.

TELECHARGER LE FICHIER DU CHALLENGE
ordinateur avec main sur Excel
Logo Solpedinn

Et si vous vous formiez au Modern Excel ?

VOIR LA FORMATION

On vous explique notre manière de faire ?

Logo Solpedinn

Inscrivez-vous à notre newsletter pour recevoir les nouveaux contenus

Message bien reçu ! Notre équipe vous recontactera très vite.
Une erreur est survenue. Merci d'essayer à nouveau.

La correction n'est pas encore prête (on attend vos réponses...)

Voir la formule
Voir la formule
Voir la formule