Mise en Forme Conditionnelle dans une shape

Résolu
Guy72 Messages postés 983 Date d'inscription   Statut Membre Dernière intervention   -  
ccm81 Messages postés 11033 Statut Membre -

Bonjour,

J'ai dans la cellule A34, j'ai :
La fonction =(MAINTENANT() au format heure (Exemple19:00)

Comment puis-je avoir dans une forme:
Le texte suivant: À demain
Avec la "Mise en Forme Conditionnelle" suivante:
Police Gras, Blanc, 14, fond Rouge.

Au moment ou la valeur 19:00 de A34 est dépassée:


Windows / Chrome 128.0.0.0

19 réponses

Résumé de la discussion

Le besoin est d’afficher « À demain » dans une forme, avec police blanche 14 et fond rouge, lorsque l’heure indiquée en A34 dépasse 19:00, via une mise en forme conditionnelle. Plusieurs réponses préconisent une solution sans macro en utilisant des formules dans A34 qui retournent « À demain » lorsque MAINTENANT() atteint 19:00 et « au travail » sinon, par exemple =SI(MAINTENANT()-ENT(MAINTENANT())>=1/24*19;"À demain";"au travail"). D’autres échanges évoquent des macros pour mettre à jour le texte de la forme ou de la zone de texte à l’ouverture, lors d’une entrée ou à chaque changement, en ajustant les modules (par exemple Workbook_Open) et les événements de feuille. Des propositions complémentaires explorent aussi l’insertion de texte dans une forme sans macro, montrant une diversité d’approches selon l’objectif de mise à jour et la compatibilité avec les propriétés de mise en forme.

Bobot (l'IA à votre service)
  1. ccm81 Messages postés 11033 Statut Membre 2 434
     

    J'ai opté pour que la macro s’exécute à chaque fois qu'il y a une entrée (plutôt qu'à chaque fois que tu sélectionnes une cellule) et un pour bouton raz pour nettoyer la zone de texte

    https://www.cjoint.com/c/NIujcfXJTxB

    Cdlmnt

    1
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     

    je pense qu'il faut forcer le recalcul à l'ouverture du fichier, essaies ceci

    Dans le module du Workbook

    Private Sub Workbook_Open()
    Application.Calculate
    End Sub

    Cdlmnt

    1
  3. ccm81 Messages postés 11033 Statut Membre 2 434
     

    Je n'ai pas vu de changement.

    chez moi, la mise à jour a été effectuée à l'ouverture du fichier, es tu sûr d'avoir mis le code dans le bon module (Workbook)

    Cdlmnt

    1
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. ccm81 Messages postés 11033 Statut Membre 2 434
     

    à chaque fois que je saisie une lettre ou un mot la zone de texte s'affiche.

    Normal, la maj se fait à chaque changement dans la feuille.

    Une solution sans macro évite ce problème, mais ne modifie pas le format de la zone de texte

    https://www.cjoint.com/c/NIwjVQPPMHB

    Cdlmnt

    1
  6. Raymond PENTIER Messages postés 58219 Date d'inscription   Statut Contributeur Dernière intervention   17 485
     

    Bonjour Guy72.

    Aide-moi à comprendre !

    En E34 tu as la fonction MAINTENANT() ; son contenu se met à jour chaque fois que tu modifies une cellule quelconque ; et ce contenu, c'est la date et l'heure.

    La valeur 19:00 ne donne pas la date !

    Cette valeur est fixe et définitive, ou dois-tu la modifier parfois ? Dans ce dernier cas, dans quelle cellule dois-tu la saisir ?


    "une insertion de texte ou une forme ou une shape" : Quelle différence fais-tu entre une forme et une shape ?


    0
  7. Guy72 Messages postés 983 Date d'inscription   Statut Membre Dernière intervention   25
     

    Je n'ai besoin que de l'heure.

    Comme dans le fichier, la formule =MAINTENANT() est dans la cellule A34.
    Quand dans cette cellule il est plus de 19:00, insertion texte du fichier envoyé, j'aimerais qu'il est "À demain" avec les conditions suivantes:

    Le texte suivant: "À demain"
    Avec la "Mise en Forme Conditionnelle" suivante:
    Police Gras, Blanc, Taille 14, Remplissage Rouge.

    0
  8. ccm81 Messages postés 11033 Statut Membre 2 434
     

    Bonjour à tous

    Oui, mais comment faire pour avoir le même résultat dans une insertion de texte ou une forme ou une shape ?

    Avec une petite macro

    https://www.cjoint.com/c/NItpxHyE2nB

    Cdlmnt

    0
  9. Guy72 Messages postés 983 Date d'inscription   Statut Membre Dernière intervention   25
     

    OK, ça fonctionne, mais je pensais que cela pouvait se faire sans macro.

    Merci de ton aide

    0
  10. ccm81 Messages postés 11033 Statut Membre 2 434
     

    Sans macro, tu peux transporter la valeur d'une cellule (ici intermédiaire) dans ta zone de texte, par contre je ne sais pas comment faire pour en modifier le format

    0
  11. Guy72 Messages postés 983 Date d'inscription   Statut Membre Dernière intervention   25
     

    Le problème, c'est que je ne devrais avoir "À demain" qu'à partir de 19:00 jusqu'au lendemain matin.
    Le lendemain quand j'ouvre mon fichier, et la cellule A34 est (par exemple à 07:00), la zone de texte doit être vierge sans avoir à appuyez sur Raz.

    0
  12. Guy72 Messages postés 983 Date d'inscription   Statut Membre Dernière intervention   25
     

    Bonjour,

    Je n'ai pas vu de changement.
    Mais ça va aller comme ça.
    Ça change bien à partir de 19:01
    Le matin, j'appuie sur RAZ
    Quand je reprendrais mon fichier le soir.......... au moment ou il sera plus de 19:01
    le mot apparaitra, comme ça, quand je fermerais mon fichier, je n'aurai pas oublié "À demain"

    Par contre, ça ne fonctionne pas quand je met la macro dans la feuille de mon classeur

    0
  13. Guy72 Messages postés 983 Date d'inscription   Statut Membre Dernière intervention   25
     

    Oui, j'ai bien mis le code

    1) Quand j'ouvre mon fichier entre 7h et 9h  j'ai toujours le texte dans la Zone (je souhaiterais qu'il ne soit pas là), je dois l'effacer avec RAZ.
    3) Si je dépasse 19:01, j'ai bien le texte qui apparaît : ça, c'est OK

    Explication : Je fais ce détail:
    1) Pour ne pas oublier de mettre le mot "À demain" quand je ferme pour la dernière fois mon fichier jusqu'au lendemain.
    2) Pour ne pas oublier le matin à l'ouverture de mon fichier d'appuyer sur RAZ pour l'enlever
     

    0
  14. Guy72 Messages postés 983 Date d'inscription   Statut Membre Dernière intervention   25
     

    Bonjour,

    Finalement, ça me convient, mais je ne peux pas m'en servir car à chaque fois que je saisie une lettre ou un mot la zone de texte s'affiche.

    0
  15. Guy72 Messages postés 983 Date d'inscription   Statut Membre Dernière intervention   25
     

    Ok, merci, je vais me servir que du texte.

    Mais pour ne rien avoir dans la zone, si il n'est pas 19:00, j'ai mis:

    =SI(A19>19/24;"à demain";"")

    0
  16. ccm81 Messages postés 11033 Statut Membre 2 434
     

    OK, Si c'est fini, peux tu mettre le sujet à résolu (en haut dans ton premier message > les trois petits points)

    Cdlmnt

    0