[Résolu] Attribuer une caractéristique de date à une cellule ?

Discussions à propos du tableur Calc.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Draketar
Fraîchement OOthentifié
Messages : 8
Inscription : 24 janv. 2025 15:43

[Résolu] Attribuer une caractéristique de date à une cellule ?

Message par Draketar »

Bonjour,

Je suis en train de travailler à la création d'une grille de suivi d'assiduité scolaire dans le cadre de mon travail. Je suis parvenu à avoir un modèle qui me convient dans l'utilisation mais j'aimerais que la case qui correspond à la date du jour soit encadré en jaune. Le seul problème c'est que chaque case est prévu à recevoir un P ou un A (en fonction de la présence ou absence) mais je souhaiterais que la case soit aussi "reconnu" comme étant une date spécifique pour la lié à une fonction AUJOURDHUI avec un format conditionnel.

J'espère que j'ai été clair dans mon explication.

Merci d'avance pour votre aide !
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par micmac le 29 janv. 2025 06:13, modifié 1 fois.
Raison : Balisage
Libre Office : Version: 6.1.6.3.M12 (version imposé au travail)
Windows 11 pro
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 6057
Inscription : 02 janv. 2009 23:56

Re: Attribuer une caractéristique de date à une cellule ?

Message par Jean-Louis Cadeillan »

Bonjour et bienvenue sur le forum,
Tu peux utiliser la formule de MFC suivante (ici en B3) :

Code : Tout sélectionner

ET(JOUR(AUJOURDHUI())=B$2;MOIS(DATEVAL("1-"&$A3&"-1"))=MOIS(AUJOURDHUI()))
À tester ci-joint,
Cordialement,
Jean-Louis
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibO 24.2.7.2 (x64 et Java 1.8.0_451) et AOO 4.1.15 (et Java x32 1.8.0_431), Windows 7 Édition Intégrale 64 SP1
Avatar de l’utilisateur
Noonours
PassiOOnné
PassiOOnné
Messages : 529
Inscription : 11 mai 2013 00:11
Localisation : Aix en Provence

Re: Attribuer une caractéristique de date à une cellule ?

Message par Noonours »

Bonjour,
pour compléter la formule de Jean-Louis Cadeillan (que je salue au passage), je te propose une MFC qui doit réaliser 5 vérifications de conditions; chacune de ces conditions se voit appliquer un style différent:
  • la cellule est dans la ligne du mois + dans la colonne de la journée + avec la lettre "P" (pour présent) => style "PresAuj" (fond vert encadré de jaune) avec la formule:

    Code : Tout sélectionner

    ET(COLONNE(B3)-1=JOUR(AUJOURDHUI());TEXTE(AUJOURDHUI();"mmmm")=$A3;B3="P")
  • la cellule est dans la ligne du mois + dans la colonne de la journée + avec la lettre "A" (pour absent) => style "AbsAuj" (fond rouge encadré de jaune) avec la formule:

    Code : Tout sélectionner

    ET(COLONNE(B3)-1=JOUR(AUJOURDHUI());TEXTE(AUJOURDHUI();"mmmm")=$A3;B3="A")
  • la cellule est dans la ligne du mois + dans la colonne de la journée mais est vide => style "Auj" (fond par défaut encadré de jaune) avec la formule:

    Code : Tout sélectionner

    ET(COLONNE(B3)-1=JOUR(AUJOURDHUI());TEXTE(AUJOURDHUI();"mmmm")=$A3)
  • la cellule contient "P" style avec fond vert
  • la cellule contient "A" style avec fond rouge
Mais pour les deux dernières, tu avais la bonne façon de faire :wink:
L'ordre des MFC a son importance, Calc les évalue successivement, et dès qu'une formule renvoie 'vrai', il applique le style correspondant et néglige les conditions suivantes.
Le fichier contenant les MFC:
Calc test Draketar MOD1.ods
Cordialement,
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Noonours procrastinateur perfectionniste: "Je fais rien, mais demain je l'ferai mieux"

Pour obtenir la réponse la plus précise possible, VEUILLEZ JOINDRE UN FICHIER

LibO 24.8.7.2 et OpenOffice 4.1.15 sous Windows 10
Draketar
Fraîchement OOthentifié
Messages : 8
Inscription : 24 janv. 2025 15:43

Re: Attribuer une caractéristique de date à une cellule ?

Message par Draketar »

Merci beaucoup pour vos retours ! Je vais tester ça lundi pour voir ce que j'arrive à faire et je vous tiens au courant !
Libre Office : Version: 6.1.6.3.M12 (version imposé au travail)
Windows 11 pro
Draketar
Fraîchement OOthentifié
Messages : 8
Inscription : 24 janv. 2025 15:43

Re: Attribuer une caractéristique de date à une cellule ?

Message par Draketar »

Je viens de regarder les fichiers que vous avez envoyé et les deux fonctionnent très bien.
La version avec les 5 styles qui se vérifient les uns derrière les autres est vraiment exactement ce que je cherchais à faire.

A la lecture des formules, il y a quelques éléments que je ne comprends pas, ça marche mais j'aimerais comprendre comment haha

la cellule est dans la ligne du mois + dans la colonne de la journée + avec la lettre "P" (pour présent) => style "PresAuj" (fond vert encadré de jaune) avec la formule:

ET(COLONNE(B3)-1=JOUR(AUJOURDHUI());TEXTE(AUJOURDHUI();"mmmm")=$A3;B3="P")


Colonne B3 - 1 : est-ce que cela signifie que calc va vérifier la cellule avant B3 donc A3 (celle où il y a les noms de mois écris en toute lettre) ? Et dans ce cas, cela signifie que la fonction aujourd'hui peut se contenter de vérifier uniquement le mois en cours sans aucun ajout dans la fonction aujourd'hui ?

Je ne comprends pas le segment : TEXTE(AUJOURDHUI();"mmmm")=$A3 : Est-ce que cela veut dire qu'il vérifie si le texte écrit dans le cellule A3 est le bon mois de la fonction aujourd'hui ? Est ce qu'il faut forcément écrire "m" quatre fois pour que cela fonctionne (donc 4 "y" pour l'année, ou 4 "d" pour le jour) ?

Merci pour vos éclaircissements !
Libre Office : Version: 6.1.6.3.M12 (version imposé au travail)
Windows 11 pro
Jeff
GourOOu
GourOOu
Messages : 9940
Inscription : 18 sept. 2006 09:40
Localisation : France

Re: Attribuer une caractéristique de date à une cellule ?

Message par Jeff »

Bonjour,
Draketar a écrit : 27 janv. 2025 08:47 Colonne B3 - 1 : est-ce que cela signifie [...]
COLONNE va renvoyer le numéro de colonne pour la cellule concernée, ici B3, donc 2 car c'est la deuxième colonne.
(Pour C3 c'est 3, D3 c'est 4 etc.)
Ça va donc contrôler que 2-1 renvoi le jour 1.
Draketar a écrit : 27 janv. 2025 08:47 Je ne comprends pas le segment : TEXTE(AUJOURDHUI();"mmmm")
De mémoire, tu retrouve l'explication dans l'aide sur les formats de cellule, mais tu peux t'amuser avec ce bout de formule en testant avec "mm" et "mmm" :)
(Pareil pour les années et les jours)

A +
À lire avant tout !

Pour télécharger Apache OpenOffice

AOO 4.1.15 / Debian 12.10 "bookworm" / Xfce
Draketar
Fraîchement OOthentifié
Messages : 8
Inscription : 24 janv. 2025 15:43

Re: Attribuer une caractéristique de date à une cellule ?

Message par Draketar »

Merci pour votre aide précieuse.

Non seulement j'ai pu faire exactement ce que je voulais mais en plus j'ai pu comprendre comment cela fonctionne héhé. Chaque jour est un jour d'apprentissage !
Libre Office : Version: 6.1.6.3.M12 (version imposé au travail)
Windows 11 pro
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9816
Inscription : 28 août 2010 08:45

Re: Attribuer une caractéristique de date à une cellule ?

Message par micmac »

Touche Ctrl de Windows = touche cmd⌘ sur Mac
OpenOffice > Outils > Options sur Windows = OpenOffice > Préférences sur macOS