Fait sous Calc* Logiciel gratuit de la suite Libre Office dans le but de gérer des suées où le doit mettre la température, l’heure de début et celle de la fin de suée.
Bien sûr adaptable pour toute autre chose...
Non-testé sous Excel, mais, en principe, cela fonctionne aussi !
Objet
Faire un tableau calendrier avec 31 colonnes (une par jour). Pour les mois comportant 28, 29 ou 30 jours les 3 dernières colonnes sont masquées ou pas pour ne rendre visible que le nombre de colonnes égal au nombre de jours du mois.
12 tableaux identiques sont placés les uns à côté des autres, en ligne (une colonne vierge est laissée vierge entre chaque tableau pour mieux visualiser les mois.
Mode d’emploi
- Afin de renseigner le tableau automatiquement, il est nécessaire de donner la date du 1er jour de l’année (cellule A43). n’oubliez pas de cliquer sur le bouton [Recalculer les dates] afin de mettre à jour le mois de février !
- Les colonnes grisées des week-end se colorent automatiquement les samedis et dimanches.
- Le titre (cellule A44) et le sous-titre (cellule A45). Ces deux dernières sont facultatifs.
- Vous pouvez remplacer les "Item X" par des intitulés de lignes de votre choix sur le premier mois. Les autres mois s’implémentent automatiquement. Si vous voulez des intitulés différents sur les autres mois, il vous faut casser la formule en enlevant la protection de la feuille*N’oubliez pas de remettre cette protection après vos manipulations par sécurité dans la cellule concernée et y inscrire votre item..
Ce sont les seules cellules, hors vos données personnelles, à renseigner.
Pour aller plus loin : voir la construction informatique
Construction des entêtes de colonnes
- La colonne A est réservée pour les entêtes de lignes.
- La première ligne (4) comporte les mois et années :
- Elles sont au format date MMMM AAAA, en majuscules*La mise en majuscule se fait avec la fonction de conversion de la date en texte et celle de mise en forme majuscule : =MAJUSCULE(TEXTE(A5 ;"MMMM AAAA")). Pour les mois qui suivent la fonction =MOIS.DECALER(A5 ;1), etc. pour les mois suivants.
- La seconde ligne (5) comporte les numéros de jours de la semaine en utilisant la fonction
=JOUR.SEM(B5;2) au format Nombre/Standart. Le « 2 » est le code pour que la semaine commence un lundi, sinon c’est le dimanche ; donc lundi = 1, mardi = 2, mercredi = 3, jeudi = 4, vendredi = 5, samedi = 6, dimanche = 7. - La troisième ligne (6) affiche le jour de semaine avec la fonction
=TEXTE(B6;"JJJJ") et pour l’esthétique on utilise la fonction =NOMPROPRE() qui met la première lettre en majuscule, soit la fonction finale est =NOMPROPRE(TEXTE(B6;"JJJJ")). Pour l’esthétique, je propose un alignement vertical du texte (90°). - La quatrième ligne comporte les Dates au Format JJ. La première cellule du mois, en B7, fait référence à la date initiale en A5 et les suivantes sur la ligne font références à la cellule précédente +1 pour afficher le second jour (02), soit =B6+1, et ainsi de suite jusqu’à 31. et on recommence sur le même principe pour tous les mois suivant jusqu’à la 31e colonne (qui affichera les jours du mois suivant si le mois en question ne comporte pas 31 jours !).
- Les autres lignes sont laissées pour les données à y mettre.
Masquer les dernières colonnes qui comportent 01, 02, 03
- Afficher une constante (0) de non-numéro de jour
Ces dernières colonnes n’existent que dans les mois au 28e, 29e ou 30e jours. Il faut donc n’agir que sur ces dernières de chaque mois. Nous allons chercher à afficher comme numéro de jour 0. Ce 0 signifie donc, pour notre exercice, que cela ne correspond à aucun jour de la semaine (ni lundi, ni mardi, ni etc.).
Pour l’exemple nous allons passer sur le tableau du mois de février qui ne comporte que 28 ou 29 jours (AH5:BM40).
Mettre en cellule BK5 la fonction qui permet de savoir si le jour en BK7 est inférieur ou égal à 3 ; si Oui, mettre 0, si non mettre le numéro de jour correspondant. =SI(JOUR(BK7)<=3; 0; JOURSEM(BK7;2)). Cette fonction est à décliner pour les deux autres cellules BL7 et BM7, qui doivent afficher aussi 0.
Faire de même pour les autres mois ou plus simple faire un copier/coller de chaque mois pour le précédent (janvier) et suivants (mars à décembre), en laissant une colonne vide entre chaque mois.
- Masquer les colonnes comportant des 0 sur la ligne 5
Il faut faire appel à une macro*Trouvée avec l’intelligence artificielle fournie par Google. qui couvre les tableaux des 12 mois :
Il faut la copier et la coller dans un module de la feuille elle-même :
- Activer le déclenchement automatique à l’ouverture
1. Allez dans le menu Outils > Personnaliser...
2. Cliquez sur l’onglet Événements.
3. Dans la liste, cliquez sur la ligne « Ouvrir le document ».
4. Cliquez sur le bouton Macro... situé à droite.
5. Dans la fenêtre qui s’ouvre, cherchez le nom de votre fichier dans la liste de gauche, puis naviguez dans Standard > Colonne_zero.
6. Sélectionnez MasquerColonne_zero dans la liste de droite et cliquez sur OK.
7. Validez en cliquant sur OK dans la fenêtre principale.
8. Enregistrez votre fichier Calc.
Désormais, à chaque fois que vous ouvrirez ce classeur, LibreOffice Calc analysera la ligne 5 et masquera instantanément les colonnes contenant un 0.
Versions
tableau 2 colonnes,Numéro de version,Changements et apports
| Version | Changement et/ou apports |
| V20261007a |
Précisions sur les "Item" dans le mode d’emploi |
| V20261006a |
Version native |