Pour créer un calendrier hebdomaire dans Excel, vous allez avoir besoin de
- Calculer le premier jour du mois
À partir des valeurs de l'année et du mois, nous allons calculer le premier jour du mois
- La fonction SEQUENCE
Cette fonction va construire la suite des jours en respectant un écart de 7 jours. Elle est accessible avec Excel 365 et Excel Online
- Jouer sur le format des nombres
La seconde astuce va consister à jouer sur le format personnalisé des nombres pour afficher les jours uniquement
Étape 1: créer la formule du premier jour
Pour calculer le premier jour d'un mois, nous avons besoin de la fonction DATE
=DATE($C$2,$C$3,1)
Si vous personnalisez le format de la date , vous pouvez voir que le 1er janvier 2020 est un mercredi. Et si vous changez le format en Standard , vous avez le numéro 43831. Comprendre cette astuce est EXTREMEMENT important pour la suite .
Étape 2: Écrire le premier jour du mois en en-tête de calendrier
Afin de simplifier la formule de construction du calendrier hebdomadaire, nous allons placer cette formule en entête de notre calendrier.
Étape 3 : Changer le format des nombre
Ensuite, nous devons conserver uniquement le jour de chaque date. Pour cela, nous allons construire un code personnalisé pour nos dates. Le code à renseigner est le suivant
mmm aaaa
Etape 3 : Transformer la formule pour commencer toujours le même jour (lundi ou dimanche)
Traditionnellement, un calendrier hebdomadaire commence un lundi (et un dimanche dans le système américain). Donc, il faut modifier la formule précédente pour que nous affichions toujours le premier lundi quelques soit le mois sélectionné ?
=SI(JOURSEM(B5;3)=7;B5;B5-JOURSEM(B5;3))
Pour vérifier que la première date est bien un lundi, il suffit de changer le format de la date en utilisant le code
jjj jj/mm/aaaa
Pour faire commencer votre calendrier un dimanche, la formule est
=SI(JOURSEM(B5;2)=7;B5;B5-JOURSEM(B5;2))
Etape 4 : Créer une liste de jours avec SEQUENCE
Maintenant, nous devons construire tous les autres jours de notre calendrier hebdomadaire. Et ceci se fait très facilement avec la fonction SEQUENCE. Cette fonction se construit avec 4 paramètres.
- Le nombre de lignes (6 pour couvrir toutes les situations de calendrier)
- Le nombre de colonnes (facile c'est 7, il y a toujours 7 jours dans une semaine)
- La valeur de départ, c'est la formule précédente
- Et enfin 1, le nombre de jour d'écart
=SEQUENCE(6;7; SI(JOURSEM(B5;3)=7;B5;B5-JOURSEM(B5;3));1)
Maintenant, pour comprendre la logique, il suffit de changer le format des nombres en format Général pour voir que la fonction a créé une liste de valeur entre 43829 et 43870
Étape 5: Personnalisez le format de la date
Cet article vous a présenté comment changer le format des dates en jouant sur les paramètres des jours, mois et années. Ici, nous voulons afficher uniquement la valeur du jour avec le paramètre j.
Et maintenant, nous avons seulement les jours dans le calendrier hebdomadaire ??
Étape 6: Changer la couleur des jours
Afin d'avoir une meilleure visualisation des jours, nous allons changer les couleurs des jours avec une Mise en forme conditionnelle > Nouvelle règle en construisant nos propres formules
Règle pour le jour du mois sélectionné
La première règle pour tester si les dates sont dans le mois sélectionné est de comparer si le mois de la date dans B7 est égal au numéro du mois dans C3. Le format à appliquer est une couleur de police en noir et en gras.
=MOIS(B7)=$C$3
Le $ pour bloquer les références est très important ici. MOIS (B7) est une référence relative pour lire toutes les cellules de notre calendrier et $ C $ 3 est bloqué le mois sélectionné
Règle pour les autres jours, ceux qui ne sont pas du mois
La formule pour mettre en évidence les jours non dans le mois sélectionné est très simple
=MOIS(B7)<>$C$3
Le format à appliquer dans cette situation est une couleur de police grise .
Règle pour les jours de week-end
Troisième règle, la couleur du jour est rouge et gras. La formule est donc
=ET(JOURSEM(B7;2)>5;MOIS(B7)=$C$3)
Toutes les règles de mises en forme
Voici les 3 règles créées dans le gestionnaire de règles
Le résultat final est le calendrier hebdomadaire suivant
Retrouvez d'autres exemples avec la fonction SEQUENCE dans cette section ou sur le site de Microsoft