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
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
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
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)
Voilà ce que j'ai mis.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if(not isnull({@Lundi1}))then crgreen else crred
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 ?
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
non çà ne change rien mes autres champs ne se mettent toujours pas en rouge.
Oui mais mes champs ont peut être un truc spéciale que je ne vois pas
à 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
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??
Rien de mieux
oui
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
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
Partager