Formule Excel: grille de calendrier dynamique -

Table des matières

Sommaire

Vous pouvez configurer une grille de calendrier dynamique sur une feuille de calcul Excel avec une série de formules, comme expliqué dans cet article. Dans l'exemple illustré, la formule en B6 est:

=start-CHOOSE(WEEKDAY(start),0,1,2,3,4,5,6)

où "start" est la plage nommée K5 et contient la date du 1er septembre 2018.

Explication

Remarque: Cet exemple suppose que la date de début sera fournie comme le premier du mois. Voir ci-dessous une formule qui renverra dynamiquement le premier jour du mois en cours.

Avec la disposition de la grille comme indiqué, le problème principal est de calculer la date dans la première cellule du calendrier (B6). Ceci est fait avec cette formule:

=start-CHOOSE(WEEKDAY(start),0,1,2,3,4,5,6)

Cette formule calcule le dimanche précédant le premier jour du mois en utilisant la fonction CHOOSE pour "revenir en arrière" le bon nombre de jours au dimanche précédent. CHOOSE fonctionne parfaitement dans cette situation, car il autorise des valeurs arbitraires pour chaque jour de la semaine. Nous utilisons cette fonctionnalité pour annuler zéro jour lorsque le premier jour du mois est un dimanche. Plus de détails sur ce problème sont fournis ici.

Avec le premier jour établi en B6, les autres formules de la grille incrémentent simplement la date précédente de un, en commençant par la formule en C6:

=IF(B6"",B6,$H5)+1

Cette formule teste la cellule immédiatement à gauche pour une valeur. Si aucune valeur n'est trouvée, il extrait une valeur de la colonne H de la ligne ci-dessus. Remarque $ H5 est une référence mixte, pour verrouiller la colonne lorsque la formule est copiée dans toute la grille. La même formule est utilisée dans toutes les cellules sauf B6.

Règles de mise en forme conditionnelle

Le calendrier utilise des formules de mise en forme conditionnelle pour modifier la mise en forme pour ombrer les mois précédents et futurs et pour mettre en évidence le jour en cours. Les deux règles sont appliquées à l'ensemble de la grille. Pour les mois précédents et suivants, la formule est:

=MONTH(B6)MONTH(start)

Pour le jour en cours, la formule est:

=B6=TODAY()

Pour plus de détails, voir: Mise en forme conditionnelle avec des formules (10 exemples)

Titre du calendrier

Le titre du calendrier - mois et année - est calculé avec cette formule dans la cellule B4:

=start

Formaté avec le format numérique personnalisé "mmmm aaaa". Pour centrer le titre au-dessus du calendrier, la plage B4: H4 a un alignement horizontal réglé sur "Centrer sur la sélection". C'est une meilleure option que la fusion de cellules, car elle ne modifie pas la structure de la grille dans la feuille de calcul.

Calendrier perpétuel avec date actuelle

Pour créer un calendrier qui se met à jour automatiquement en fonction de la date actuelle, vous pouvez utiliser une formule comme celle-ci dans K5:

=EOMONTH(TODAY(),-1)+1

Cette formule obtient la date actuelle avec la fonction AUJOURD'HUI, puis obtient le premier jour du mois en cours à l'aide de la fonction EOMONTH. Remplacez AUJOURD'HUI () par une date donnée pour créer un calendrier dans un mois différent. Plus de détails sur le fonctionnement de EOMONTH ici.

Étapes pour créer

  1. Masquer les lignes de la grille (facultatif)
  2. Ajouter une bordure à B5: H11 (7R x 7C)
  3. Nommez K5 "début" et entrez une date comme "1er septembre 2018"
  4. Formule en B4 = début
  5. Format B4 comme "mmmm aaaa"
  6. Sélectionnez B4: H4, définissez l'alignement sur "Centrer sur la sélection"
  7. Dans la plage B5: H5, entrez les abréviations des jours (SMTWTFS)
  8. Formule en B6 = start-CHOOSE (WEEKDAY (start), 0,1,2,3,4,5,6)
  9. Sélectionnez B6: H11, appliquez le format de nombre personnalisé "d"
  10. Formule en C6 = IF (B6 "", B6, $ H5) +1
  11. Copier la formule en C6 dans les cellules restantes de la grille du calendrier
  12. Ajouter une règle de mise en forme conditionnelle Précédent / Suivant (voir formule ci-dessus)
  13. Ajouter la règle de mise en forme conditionnelle actuelle (voir la formule ci-dessus)
  14. Remplacez la date K5 par une autre date "premier du mois" pour tester
  15. Pour le calendrier perpétuel, formule en K5 = EOMONTH (AUJOURD'HUI (), - 1) +1

Articles intéressants...