formateur informatique

Calendrier Excel facile et rapide

Accueil  >  Bureautique  >  Excel  >  Excel Astuces  >  Calendrier Excel facile et rapide
Livres à télécharger


Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :


Inscription Newsletter    Inscription Newsletter
Sujets que vous pourriez aussi aimer :


Calendrier automatique et facile

Nous avons déjà découvert ensemble maintes techniques différentes pour construire des calendriers et plannings avec Excel. Cette nouvelle astuce montre avec quelle simplicité il est possible de reconstituer les mois d'une année choisie, sur la base d'une unique formule qui plus est, fort simple.

Calendrier Excel automatique en fonction du mois et de l-année

Sur l'exemple illustré par la capture, l'utilisateur choisit d'abord une année à l'aide d'une liste déroulante, placée sur la droite du tableau. Puis, il définit un mois de cette année avec une seconde liste déroulante située en dessous. Et aussitôt, les jours du mois se recomposent dans le tableau au centre de l'écran.

Vous notez l'organisation symétrique du Calendrier. L'énumération des jours débute nécessairement par un Lundi. Et pour chaque semaine, ce sont les Samedis et Dimanches qui clôturent chaque ligne. De fait, une règle de mise en forme se charge de mettre en retrait les jours en dehors du mois. En effet et fort logiquement, un mois ne commence pas nécessairement par un Lundi au même titre qu'il ne se termine pas forcément par un Dimanche.



Classeur source et présentation
Pour la démonstration de cette nouvelle astuce, nous proposons d'appuyer l'étude sur un classeur offrant déjà une certaine organisation et ces listes déroulantes de dates. Deux listes déroulantes sont effectivement disponibles en cellules J4 et J6 pour l'année et pour le mois. Elles se nourrissent des informations des colonnes annexes N et O. Sur la base de ces deux choix, le premier jour du mois est calculé en cellule J9 grâce à la fonction Date:

=SI(ET(J4<>"";J6<>""); DATE(J4; RECHERCHEV(J6;O1:P12; 2; FAUX); 1); "")

L'année lui est passée en premier paramètre et le jour (Le 1er) en troisième. Le numéro du mois en second paramètre est trouvé grâce à la fonction RechercheV dans la colonne P sur la recherche du nom du mois dans la colonne O. C'est sur ce premier jour du mois que repose en effet toute la construction du calendrier. La structure de ce dernier est prête sur sept colonnes du Lundi au Dimanche et sur six lignes pour une capacité de six semaines. En effet, un mois peut très bien débuter à cheval sur la première semaine et se terminer à cheval sur la sixième semaine.

Lundi avant le premier jour du mois
Nous proposons de dérouler la construction de l'unique formule à répliquer par étapes. Nous simplifierons ainsi la compréhension. Le premier enjeu consiste à trouver la date du Lundi intervenant avant le premier jour du mois choisi. C'est en effet cette première donnée qui entame la construction du calendrier à partir de la cellule B4. L'astuce consiste à retrancher le numéro du jour de semaine à la date en cellule J9, à une unité près, pour retomber sur le Lundi précédent.
  • Sélectionner la case de la première date à trouver en cliquant sur la cellule B4,
  • Taper le symbole égal (=) pour initier la syntaxe de la formule,
  • Cliquer sur la cellule du premier jour du mois en J9,
  • Puis, enfoncer la touche F4 du clavier pour la figer, ce qui donne : $J$9,
En effet, cette formule, lorsqu'elle sera aboutie, est destinée à être répercutée sur toutes les cellules du calendrier. Et chaque calcul doit faire référence à ce premier jour. Sa cellule ne doit donc pas bouger.
  • Taper le symbole du moins (-) pour annoncer la soustraction à suivre,
  • Inscrire la fonction du jour de semaine, suivie d'une parenthèse, soit : JourSem(,
  • Cliquer de nouveau sur la cellule J9 pour lui passer la date du premier jour du mois,
  • Comme précédemment, enfoncer la touche F4 du clavier pour la figer,
  • Puis, taper un point-virgule suivi du chiffre 2 : ;2 pour raisonner sur le calendrier français,
Par défaut, sans autre indication, cette fonction JourSem raisonne sur le calendrier américain. Et dans ce calendrier, c'est le dimanche qui est considéré comme le premier jour de la semaine. Avec le chiffre 2 en second paramètre, c'est bien le Lundi qui représente le premier jour de la semaine.
  • Fermer la parenthèse de la fonction JourSem,
Nous venons de retrancher à la date de ce premier jour du mois, le nombre de jours correspondant à son numéro de semaine. Le 1 er Mai 2021 est par exemple tombé un Samedi. Il s'agit du sixième jour de la semaine. En retranchant six unités à cette date, nous remontons au Dimanche précédent et non au Lundi. Nous devons donc ajuster ce calcul en ajoutant une unité.
  • En conséquence, ajouter une unité : +1 et valider la formule par la touche Entrée,
Calculer la date du dernier lundi avant le premier jour du mois suivant avec Excel

Nous obtenons bien la date du Lundi précédent la date du premier jour du mois choisi. C'est sur cette base que nous allons pouvoir naturellement déduire tous ceux qui suivent, rappelons-le, avec une seule formule.



Les jours suivants dans le mois
Maintenant pour pouvoir répliquer la formule sur les colonnes de droite, nous devons être en mesure de déduire les jours suivants dans la même semaine. C'est une incrémentation naturelle qui doit être opérée sur cette première date au gré de la progression de la formule répliquée sur la droite. Pour cela, rien de plus simple, il suffit d'employer la fonction Colonne en la faisant agir sur une cellule de la première colonne, par exemple sur la cellule A1. Comme vous le savez, cette fonction retourne l'indice de colonne d'une cellule. Au gré de la réplication de la formule sur les autres colonnes, elle retournera un numéro grandissant permettant d'incrémenter naturellement d'une unité supplémentaire cette première date du calendrier.
  • Sélectionner de nouveau la cellule B4,
  • Dans sa barre de formule, cliquer à la toute fin de la syntaxe pour y placer le point d'insertion,
  • Taper le symbole plus (+) pour annoncer les unités à incrémenter,
  • Inscrire la fonction pour l'indice de colonne suivie d'une parenthèse, soit : Colonne(,
  • Désigner une cellule de la première colonne en cliquant par exemple sur A1,
  • Puis, fermer la parenthèse de la fonction Colonne,
Pour son premier calcul, cette fonction retourne la valeur 1 puis 2, 3 etc... au gré de la réplication sur la droite. Or, cette première date ne doit pas être incrémentée. Ce sont les suivantes qui doivent l'être. Pour réajuster ce décalage, nous devons retrancher une unité à son résultat.
  • Retrancher une unité à ce score, soit : -1,
  • Puis valider la formule par le raccourci clavier CTRL + Entrée,
  • Puis, cliquer et glisser la poignée de la cellule à l'horizontale jusqu'en colonne H,
Calculer les jours de la semaine dans un planning Excel

Cette recopie reproduit bien la logique de la formule mais réplique également les attributs de format, annihilant la mise en valeur différente pour les jours de Week-End. C'est la raison pour laquelle il est opportun dans l'enchaînement de cliquer sur la balise active qui se déclenche en bas à droite de la sélection. Dès lors, il ne reste plus qu'à opter pour l'option : Recopier les valeurs sans la mise en forme.

Et dès lors, vous avez le plaisir de constater qu'une seule formule permet de calculer le premier Lundi et les jours suivants dans la semaine, sur la base d'un choix sur l'année et d'un autre sur le mois.

Bien entendu à ce stade, si vous répliquez la sélection sur les lignes du dessous, c'est la même série de dates pour la première semaine qui est répliquée. Nous venons de fonder l'incrémentation des jours en colonne. Il nous reste à trouver le subterfuge pour produire le même effet afin d'incrémenter les dates en lignes sur les semaines suivantes.



Les jours des semaines suivantes dans le mois
Le principe est finalement assez similaire. Cette fois nous devons exploiter la fonction Ligne à exercer au départ sur une cellule de la première ligne, par exemple A1. Pour passer à la semaine suivante, le pas n'est plus d'une unité mais de sept (Ligne(A1)*7). Mais la première date ne doit pas bouger. Nous devons donc lui soustraire sept unités (Ligne(A1)*7 -7). Pour les suivantes en revanche, nous aurons bien l'incrémentation souhaitée (Ligne(A2)*7-7=2*7-7=14-7=7), soit une semaine de plus.
  • Sélectionner de nouveau la date du premier Lundi en cliquant sur la cellule B4,
  • Dans la barre de formule, cliquer à la fin de la syntaxe pour y placer le point d'insertion,
  • Taper le symbole plus (+) pour annoncer l'incrémentation à suivre,
  • Inscrire la fonction pour l'indice de ligne suivie d'une parenthèse, soit : Ligne(,
  • Désigner une cellule de la première ligne en cliquant par exemple sur A1,
  • Fermer la parenthèse de la fonction Ligne,
  • Multiplier ce résultat par sept unités, soit : *7,
  • Puis, retrancher sept unités à ce score, soit : -7,
  • Dès lors, valider la formule par le raccourci clavier CTRL + Entrée,
  • La répliquer sur la droite avec la poignée jusqu'en colonne H,
  • Utiliser la balise active pour conserver l'intégrité de la mise en forme,
  • Puis, glisser la poignée de la sélection vers le bas jusqu'en ligne 9,
  • Là encore, exploiter la balise active pour préserver les attributs de mise en forme,
Comme vous pouvez l'apprécier, nous sommes parvenus à recomposer toutes les dates pour le mois et l'année choisis sur la base d'une seule formule.

Calendrier automatique avec une seule formule Excel

Et bien entendu, si vous changez de mois et/ou d'année, toutes les dates se recomposent parfaitement pour reconstruire le calendrier demandé en cohérence.

Atténuer les dates hors du mois
Pour parfaire la solution, nous proposons de bâtir une règle de mise en forme conditionnelle capable de détecter les dates situées avant et après le mois choisi pour minorer leur mise en valeur. En les rendant plus discrètes, nous obtiendrons une vue claire du calendrier avec ses bornes.
  • Sélectionner toutes les dates du calendrier, soit la plage de cellules B4:H9,
  • Dans la section Styles du ruban Accueil, cliquer sur le bouton Mise en forme conditionnelle,
  • En bas des propositions, choisir l'option Nouvelle règle,
  • Dans la boîte de dialogue qui suit, sélectionner le type : Utiliser une formule pour ...,
  • Puis, cliquer dans la zone de saisie du dessous pour l'activer,
  • Puis, saisir la syntaxe suivante : =Mois(B4)<>Mois($J$9),
L'analyse porte sur la comparaison du mois de la première date du calendrier avec celui de la date utilisée pour confectionner ce calendrier. Notez que la cellule B4 est totalement défigée pour respecter l'analyse chronologique. Ainsi, tous les mois des dates du calendrier vont être comparés avec le mois de la date de référence qui elle reste naturellement figée. Si ce critère d'inégalité est vérifié, il indique que la date en cours d'analyse ne fait pas partie du mois en cours. Sa mise en forme doit donc être retouchée conditionnellement pour atténuer son aspect.
  • Pour cela, cliquer sur le bouton Format en bas de la boîte de dialogue,
  • Dans la boîte de dialogue qui suit, activer l'onglet Police,
  • Avec la seconde liste déroulante, choisir un gris atténué pour la couleur du texte,
  • Puis, valider cet attribut de format avec le bouton Ok,
  • De retour sur la première boîte de dialogue, cliquer sur Ok pour valider la règle,
Atténuer la mise en forme des dates hors du mois dans le calendrier mensuel Excel

De retour sur la feuille, dès lors que vous changez de période, non seulement le calendrier se recompose automatiquement, mais dans le même temps, les plages variables des dates hors propos sont automatiquement atténuées pour un rendu explicite.

Pour rappel, la syntaxe de l'unique formule que nous avons bâtie pour construire ce calendrier dynamique est la suivante

=$J$9-JOURSEM($J$9;2) + 1 + COLONNE(A1) - 1 + LIGNE(A1)*7-7

 
Sur Facebook
Sur Youtube
Les livres
Contact
Mentions légales



Abonnement à la chaîne Youtube
Partager la formation
Partager sur Facebook
Partager sur Twitter
Partager sur LinkedIn