IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Formules Discussion :

[CR ?] Formule pour couleur de remplissage d'un champ


Sujet :

Formules

  1. #1
    Membre éprouvé
    Inscrit en
    Janvier 2006
    Messages
    1 220
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 220
    Par défaut [CR ?] Formule pour couleur de remplissage d'un champ
    Bonjour,
    mon soucis concerne la couleur de remplissage d'un champ.
    Je voudrais une couleur de fond s'il a une donnée et une couleur s'il est vide.
    Quel serait la formule ?
    Merci d'avance

  2. #2
    Membre expérimenté
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2008
    Messages : 155
    Par défaut
    Je n'ai que CR en version anglaise, mais je vais essayer d'être le plus claire possible.
    1. Click droit sur le champ que tu veux "customiser".
    2. Choisis "Format Field" (2ème point de menu)
    3. Clique sur "Border" (2ème tab)
    Dans le cadre "Couleur", tu coches l'option "Background" et tu cliques sur le bouton de formule.
    La formule devrait ressembler à
    if trim({TABLE1.field1}) = "" then crGreen
    else cr...
    La formule doit renvoyer une des constantes suivantes:
    • Color (red, green, blue)
    • crBlack
    • crMaroon
    • crGreen
    • crOlive
    • crNavy
    • crPurple
    • crTeal
    • crSilver
    • crRed
    • crLime
    • crYellow
    • crBlue
    • crFuchsia
    • crAqua
    • crWhite
    • crNoColor


    J'espère que c'est ça dont tu as besoin...

    Bàt

    Anne-Ca

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 14
    Par défaut
    Bonjour,
    1.click droit sur le champ que tu veux personalisé
    2. selectionne l'englet Bordure
    3. coche la case Arrière-plan puis click sur le buton formule
    4. dans l'editeur tu aura :
    // Cette formule de mise en forme conditionnelle doit renvoyer un(e) des Constantes de couleur suivant(e)s :
    //
    // Color (red, green, blue)
    // crBlack
    // crMaroon
    // crGreen
    // crOlive
    // crNavy
    // crPurple
    // crTeal
    // crSilver
    // crRed
    // crLime
    // crYellow
    // crBlue
    // crFuchsia
    // crAqua
    // crWhite
    // crNoColor
    //
    4. ajout une ligne de ce genre :
    if {@Champ} = "valeur" then color(xx,xx,xx) else color(yy,yy,yy)

  4. #4
    Membre éprouvé
    Inscrit en
    Janvier 2006
    Messages
    1 220
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 220
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(not isnull({@Lundi1}))then
    crgreen
    else
    crred
    Voilà ce que j'ai mis.
    Il me met bien les champs non vide en vert mais les autres ne sont pas mis en rouge. Il reste sans couleur.
    Comment cela se fait-il ?

  5. #5
    Membre expérimenté
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2008
    Messages : 155
    Par défaut
    As-tu essayé de combiner les 2 conditions (être null et être non blanc)?

    IF(NOT isnull({@Lundi1})) and trim({@Lundi1}) <> "" then
    crgreen
    else
    crred

    Bàt

    Anne-Ca

  6. #6
    Membre éprouvé
    Inscrit en
    Janvier 2006
    Messages
    1 220
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 220
    Par défaut
    non çà ne change rien mes autres champs ne se mettent toujours pas en rouge.

  7. #7
    Membre éclairé
    Avatar de kikidrome
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 861
    Par défaut
    Citation Envoyé par leloup84 Voir le message
    non çà ne change rien mes autres champs ne se mettent toujours pas en rouge.
    bizarre... je viens de tester sur un rapport et çà marche bien..

  8. #8
    Membre éprouvé
    Inscrit en
    Janvier 2006
    Messages
    1 220
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 220
    Par défaut
    Oui mais mes champs ont peut être un truc spéciale que je ne vois pas

  9. #9
    Inactif  
    Avatar de Aitone
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    3 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 3 562
    Par défaut
    Citation Envoyé par AnneCa Voir le message
    As-tu essayé de combiner les 2 conditions (être null et être non blanc)?

    IF(NOT isnull({@Lundi1})) and trim({@Lundi1}) <> "" then
    crgreen
    else
    crred

    Bàt

    Anne-Ca
    à essayer avec or à la place du and
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    IF(NOT isnull({@Lundi1})) or trim({@Lundi1}) <> "" then
    crgreen
    else
    crred

  10. #10
    Membre expérimenté
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2008
    Messages : 155
    Par défaut
    Je pense avoit trouvé quelque chose... mais je n'ai pas vraiment d'explication logique

    Onglet Bordure
    1. Mettre un style de ligne (simple) pour les 4 (gauche-droite-haut-bas)
    2.Dans le cadre couleur
    a) Bordure: blanc
    b) Arrière-plan: Cocher + formule
    3. OK + rafraîchir rapport

    Ca donne quoi??

  11. #11
    Membre éprouvé
    Inscrit en
    Janvier 2006
    Messages
    1 220
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 220
    Par défaut
    Rien de mieux

  12. #12
    Inactif  
    Avatar de Aitone
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    3 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 3 562
    Par défaut
    Citation Envoyé par leloup84 Voir le message
    Rien de mieux
    t'as testé avec le OR ? ?

  13. #13
    Membre éprouvé
    Inscrit en
    Janvier 2006
    Messages
    1 220
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 220
    Par défaut
    oui

  14. #14
    Membre expérimenté
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2008
    Messages : 155
    Par défaut
    Suppose que c'est le champ1 de TABLE1 que tu veux afficher.
    Au lieu d'afficher champ1 directement dans le rapport, tu fabriques d'abord une formule @Champ1.

    if trim({TABLE1.CHAMP1}) = '' or isnull({TABLE1.CHAMP1})
    then ' ' else {TABLE1.CHAMP1}

    Tu intègres cette formule à la place de champ1 et tu formate le champ formule comme suit
    Onglet Bordure
    Dans le cadre couleur
    a) Bordure: blanc
    b) Arrière-plan: Cocher + formule = if Trim({@Champ1}) = '' then crxxx else crxxx
    3. OK + rafraîchir rapport

  15. #15
    Membre éprouvé
    Inscrit en
    Janvier 2006
    Messages
    1 220
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 220
    Par défaut
    Ok merci AnneCa.
    Avec ta dernière solution que je viens d'essayer cela fonctionne.
    Il faut bien que je fabrique d'abord une formule.
    Merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 26/04/2010, 19h22
  2. Réponses: 2
    Dernier message: 09/09/2009, 14h08
  3. Formule pour prendre certains digits d'un Champs.
    Par jboumaaz dans le forum Formules
    Réponses: 6
    Dernier message: 17/01/2007, 15h37
  4. Couleur de remplissage d'un TextRect
    Par kurul1 dans le forum C++Builder
    Réponses: 7
    Dernier message: 21/06/2006, 10h04
  5. 2 "formules" pour un même Source Contrôle??
    Par Mr White dans le forum Access
    Réponses: 11
    Dernier message: 21/10/2005, 14h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo