Créez des calendriers mensuels dans Google Sheets (Formules à cellule unique et à cellules multiples)

Vous pouvez créer des calendriers mensuels dans Google Sheets en utilisant soit une formule unique pour tout le mois, soit des formules multiples pour chaque semaine. La première option est préférable si vous souhaitez imprimer ou consulter les calendriers à l’intérieur de la feuille, tandis que la deuxième option est utile lorsque vous souhaitez avoir des lignes vierges entre chaque semaine pour y insérer des notes.

Créer un calendrier mensuel à l’aide d’une formule unique dans Google Sheets est idéal si vous souhaitez afficher le calendrier directement dans la feuille. J’ai une solution unique pour créer un calendrier mensuel dynamique dans Google Sheets en utilisant des formules à cellule unique et à cellules multiples.

Comment créer un calendrier mensuel en utilisant une formule unique dans Google Sheets

Entrez le numéro du mois dans la cellule A2 et l’année dans la cellule B2. Ensuite, entrez les jours de la semaine du dimanche au samedi dans les cellules C2:I2.

Pour créer le calendrier mensuel, entrez la formule suivante dans la cellule C3:

=LET( start, DATE(B2, A2, 1), seq, SEQUENCE(DAY(EOMONTH(start, 0))), test, IF(WEEKDAY(start)=1, seq, VSTACK(WRAPCOLS(,WEEKDAY(start)-1), seq) ), IFNA(WRAPROWS(test, 7)) )

Cette formule générera le calendrier complet du mois en une seule fois !

C’est une formule magique ; vous n’avez pas besoin de formater le résultat, d’appliquer une mise en forme conditionnelle pour masquer les dates, ou quoi que ce soit d’autre. La formule s’occupe de tout.

Lorsque vous entrez un nouveau numéro de mois dans la cellule A2, le calendrier se mettra à jour. Il en va de même pour l’année dans la cellule B2. Vous pouvez également utiliser des listes déroulantes de validation des données dans les cellules A2 et B2 pour sélectionner rapidement le mois et l’année.

Décryptage de la formule du calendrier mensuel (Déchaînez la puissance des calendriers dynamiques)

Certaines personnes souhaitent peut-être apprendre la formule pour améliorer leurs compétences dans Google Sheets. Voici comment la formule unique remplit dynamiquement un calendrier mensuel complet en une seule fois avec le décalage correct du jour de la semaine dans la première ligne.

Il existe quatre parties majeures dans la formule qui créent un calendrier mensuel dynamique dans Google Sheets : la partie séquence, la partie décalage, la combinaison du décalage et de la séquence, et la mise en forme des lignes.

Partie séquence : création d’une séquence de jours dans le mois

Tout d’abord, nous devons trouver la date de début du mois à partir du mois et de l’année dans les cellules A2 et B2. La formule suivante fait cela :

=DATE(B2, A2, 1)

Maintenant, nous devons déterminer le nombre total de jours dans ce mois. Pour cela, nous trouvons la date de fin du mois en utilisant la fonction EOMONTH :

=EOMONTH(DATE(B2, A2, 1), 0)

Si nous enveloppons la formule ci-dessus avec la fonction DAY, nous obtenons le dernier jour du mois et de l’année sélectionnés :

=DAY(EOMONTH(DATE(B2, A2, 1), 0))

Enveloppez cela avec SEQUENCE pour obtenir les jours de tout le mois, c’est-à-dire des nombres de séquence de 1 à la totalité des jours du mois :

=SEQUENCE(DAY(EOMONTH(DATE(B2, A2, 1), 0)))

Partie décalage : ajustement des jours en fonction des jours de la semaine

Il s’agit d’une partie clé de la création d’un calendrier mensuel dynamique en utilisant une formule unique dans Google Sheets.

Si la date de début du mois commence un dimanche, nous devons décaler la séquence ci-dessus de 0 cellule. Si elle commence un lundi, nous devons décaler d’une cellule, et ainsi de suite. Comment faire cela ?

=WEEKDAY(DATE(B2, A2, 1))-1

La formule WEEKDAY ci-dessus renverra le nombre de décalage. Elle renvoie le numéro du jour de la semaine – 1, ce qui donne 0 pour dimanche, 1 pour lundi, etc.

Envelopper cela avec la fonction WRAPCOLS, comme indiqué ci-dessous, renverra n erreurs de cellule, et c’est la partie décalage :

=WRAPCOLS(,WEEKDAY(DATE(B2, A2, 1))-1)

Combinaison du décalage (N erreurs de cellule) et de la séquence (jours dans un mois)

Ensuite, nous voulons le superposer (résultat de la partie décalage) avec les numéros de séquence (résultat de la partie séquence) uniquement si le numéro du jour de la semaine n’est pas égal à 1 (c’est-à-dire différent de dimanche).

Voici la formule générique qui utilise un test logique IF :

=IF(WEEKDAY(DATE(B2, A2, 1))=1, sequence_part, VSTACK(offset_part, sequence_part))

Donc la formule correspondante sera :

=IF(WEEKDAY(DATE(B2, A2, 1))=1, SEQUENCE(DAY(EOMONTH(DATE(B2, A2, 1), 0))), VSTACK(WRAPCOLS(,WEEKDAY(DATE(B2, A2, 1))-1), SEQUENCE(DAY(EOMONTH(DATE(B2, A2, 1), 0)))))

Partie de mise en forme des lignes : dernière étape de la création d’un calendrier mensuel dynamique dans Google Sheets

Pour créer le calendrier mensuel dynamique, vous devez simplement utiliser la fonction WRAPROWS pour envelopper la formule ci-dessus et envelopper la sortie par groupes de 7 cellules, ainsi que la fonction IFNA pour remplacer les erreurs par des cellules vides.

=IFNA(WRAPROWS(IF(WEEKDAY(DATE(B2, A2, 1))=1, SEQUENCE(DAY(EOMONTH(DATE(B2, A2, 1), 0))), VSTACK(WRAPCOLS(,WEEKDAY(DATE(B2, A2, 1))-1), SEQUENCE(DAY(EOMONTH(DATE(B2, A2, 1), 0))))), 7))

C’est notre formule à cellule unique pour créer un calendrier mensuel dynamique dans Google Sheets.

Mais vous remarquerez une formule différente avant le sous-titre « Décryptage de la formule du calendrier mensuel » ci-dessus. C’est parce que nous avons utilisé la fonction LET là-bas, afin de ne pas avoir à utiliser les mêmes expressions plus d’une fois dans la formule, par exemple, la séquence et DATE.

Conclusion

Vous avez peut-être rencontré différentes formules dans Excel ainsi que dans Google Sheets pour créer un calendrier mensuel ou un modèle. Notre formule se distingue des autres par sa simplicité et sa flexibilité.

La plupart des formules proposées utilisent plusieurs formules, qui peuvent nécessiter des étapes supplémentaires comme la mise en surbrillance ou la mise en forme.

Dans notre cas, vous pouvez utiliser la formule directement. Il vous suffit d’insérer le mois et l’année dans les cellules désignées (A2 et B2), de taper les jours de la semaine du dimanche au samedi dans les cellules C2:I2, puis de copier-coller notre formule. La formule s’occupera du reste.

Vous pouvez également diviser la même formule en plusieurs lignes en utilisant la fonction CHOISIRLIGNES. Si vous êtes intéressé par des modèles personnalisés, consultez ces tutoriels :

Articles en lien