Bonjour
Lillyrose, corona a donné de bons liens pour faire un bon travail : c'est-à-dire se documenter et faire dans la mesure du possible le travail soi même.
Dans le cas où tu serais pressée, j’ai transformé ton planning sur le plan de l’automaticité de l’écriture des dates et te renvoie une proposition à examiner et terminer dans le classeur joint.
Voyons ce qui est changé par rapport à ton classeur :
J’ai rajouté sur chaque feuille une ligne en début pour noter l’année de façon à éviter que dans une feuille mensuelle, il y ait comme tu l’avais mis en cellule A1 le mois suivi de l’année.
Il faut éviter tant que possible d’avoir dans une même cellule deux données de nature donc d’utilisation différentes.
Pour ne pas avoir à écrire 13 fois l’année lorsqu’on réinitialise le planning, il suffit de l’écrire dans la cellule A1 de la feuille Total (cette cellule étant nommée Anplanning) et dans les autres feuilles l’année est recopiée en A1 avec la formule :
Puisque nous en sommes aux noms utilisés dans le classeur, j’ai défini sous le nom listmois la liste :
={"Janvier " ; "Février " ; "Mars" ; "Avril" ; "Mai" ; "Juin" ; "Juillet" ; "Août" ; "Septembre" ; "Octobre" ; "No. vembre" ; "Décembre"}
Nous en verrons l’utilité dans la formule donnant la date du 1er jour d’un mois.
Comment récupérer le nom du mois dans la cellule A2 pour être le plus proche possible de la présentation que tu as choisie pour une feuille mensuelle?
(En toute rigueur, on pourrait se passer de la formule indiquée car écrire 12 noms de mois n’est pas une tâche insurmontable si on le fait une seule fois pour un classeur que l’on pourra réutiliser plusieurs années, mais dune part on pourrait se sentir fatigué d’avoir à réécrire Janvier dans la cellule A2 lorsqu’on l’a déjà écrit dans l’onglet de la feuille, d’autre part je voudrais te rappeler ou te montrer qu’il est possible de récupérer dans une cellule d’une feuille le nom de l’onglet de cette feuille).
La formule à écrire dans la cellule A2 est :
=DROITE(CELLULE("nomfichier";A1);NBCAR(CELLULE("nomfichier";A1))-CHERCHE("]";CELLULE("nomfichier";A1)))
Le code
= CELLULE("nomfichier";A1)
renvoie une chaine de caractères du type
C:\chemin d’accès\[nom_classeur.xslc]nom_feuille
Le code
NBCAR(CELLULE("nomfichier";A1))
Indique combien de caractères contient cette chaine.
Le code
CHERCHE("]";CELLULE("nomfichier";A1))
Indique le rang du caractère ] dans cette chaine (] étant le caractère qui précède dans la chaine le nom nom_feuille qui nous intéresse).
Donc la différence
NBCAR(CELLULE("nomfichier";A1)) - CHERCHE("]";CELLULE("nomfichier";A1))
donne le nombre n de caractères de nom_feuille et enfin la formule complète de la forme = DROITE(chaine ; n ) renvoie les n derniers caractères à droite de la chaine donc le nom que nous voulons.
Comment écrire les dates dans chaque feuille ?
D’abord la date du premier jour. La formule dans A3 est :
=DATE(Anplanning;EQUIV(A2;Listmois;0);1)
Et c’est pour cette formule que nous avions besoin de la liste listmois.
Pour les autres dates, donc à partir de A4 et à recopier vers le bas jusqu’en A33 :
=SIERREUR(SI(A3+1<=FIN.MOIS($A$3;0);A3+1;"");"")
Enfin les samedis et dimanches sont repérés grâce à une mise en forme conditionnelle de la plage A3 :A33.
Remplissage en vert des cellules vérifiant la condition :
Toutes les feuilles mensuelles du classeur s’obtiendront par copie par exemple de la feuille Mars pour créer la feuille Avril.
La feuille copiée porte d’abord le nom Mars (2) et la colonne de dates est vide mais dès que l’on corrige le nom sur l’onglet et que l’on écrit Avril, la colonne de dates se remplit automatiquement.
Bon ! Je rends mon tablier. Bon courage pour la suite.
Cordialement
Partager