1. #1
    Membre régulier
    Inscrit en
    novembre 2005
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : novembre 2005
    Messages : 271
    Points : 104
    Points
    104

    Par défaut couleur d'une cellule contenant une valeur minimale dans un champ de tableau croisé

    Bonsoir,
    j'ai un tableau croisé de devis. Pour un article, il s'affiche les prix chez chaque fournisseur.
    Je veux mettre les cellules des prix les plus bas en couleur jaune

    Voilà mon code qui refuse même d'être validé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    // Cette formule de mise en forme conditionnelle doit renvoyer un(e) des Constantes de couleur suivant(e)s :
    if Minimum ({rp_devis.Prix})=True then crYellow
    // Color (red, green, blue)
    // crBlack
    // crMaroon
    // crGreen
    // crOlive
    // crNavy
    // crPurple
    // crTeal
    // crSilver
    // crRed
    // crLime
    // crYellow
    // crBlue
    // crFuchsia
    // crAqua
    // crWhite
    // crNoColor
    //
    Help, please

  2. #2
    Modérateur
    Avatar de luc_chivas
    Profil pro
    Consultant BO/Crystal Reports
    Inscrit en
    avril 2004
    Messages
    1 641
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant BO/Crystal Reports

    Informations forums :
    Inscription : avril 2004
    Messages : 1 641
    Points : 2 367
    Points
    2 367

    Par défaut

    Bonjour,

    tu compares un chiffre avec un booleen, jusque là, c'est normal que CR te jette...
    IL te faudrait créer un groupe par article, puis une formule résumée de type minimum. tu mets le résulat de cette formule dans une variable, et tu testes ton prix unique à cette variable

    un peu comem ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CurrencyVar Min:=Minimum({Orders.Order Amount},{Employee.Employee ID});
    if {Orders.Order Amount} = Min then crYellow;
    Luc

    Disponible - Intervention sur demande
    Formateur Crystal Reports (toutes versions)
    Contrat de support possible
    N'hésitez pas.... http://paypal.me/lucrascar

  3. #3
    Membre régulier
    Inscrit en
    novembre 2005
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : novembre 2005
    Messages : 271
    Points : 104
    Points
    104

    Par défaut

    Je n'ai pas réussi à appliquer ta méthode, luc_chivas. Aussi, j'ai changé la requête sur laquelle pointe l'état.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select Fournisseur, Article, Quantité*PrixUnitaire as PrixTotal,Quantité*(select min(PrixUnitaire) from table_catalogue_des_prix where (Article=R.Article)) as PrixMinimum From table_devis as R Group By Fournisseur, Article, Quantité,PrixUnitaire
    Aussi, dans ma formule de CrystalReport, j'ai fait ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if {etat_devis.PrixTotal}={etat_devis.PrixMinimum} then crYellow
    Mais, toutes les cellules de l'état sont en noir. rendant invisible les valeurs.

  4. #4
    Membre régulier
    Inscrit en
    novembre 2005
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : novembre 2005
    Messages : 271
    Points : 104
    Points
    104

    Par défaut

    Maintenant, les cellules sont colorées en jaune. Ce qui permet de voir les valeurs. Sauf que toutes les cellules sont jaune. On ne distingue donc pas le prix le plus bas.
    Je précise encore une fois qu'il s'agit d'un tableau croisé

  5. #5
    Modérateur
    Avatar de luc_chivas
    Profil pro
    Consultant BO/Crystal Reports
    Inscrit en
    avril 2004
    Messages
    1 641
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant BO/Crystal Reports

    Informations forums :
    Inscription : avril 2004
    Messages : 1 641
    Points : 2 367
    Points
    2 367

    Par défaut

    Bonjour
    je viens de voir que tu utilisais CRXI.. je crains malheureusement que cela ne sois pas possible car ik te faudra attendre l'arrivée de la version 2008 pour voir apparaitre la fonction "GridRowColumnValue" qui permet de savoir la cellule sur laquelle tu es....
    Luc

    Disponible - Intervention sur demande
    Formateur Crystal Reports (toutes versions)
    Contrat de support possible
    N'hésitez pas.... http://paypal.me/lucrascar

  6. #6
    Membre régulier
    Inscrit en
    novembre 2005
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : novembre 2005
    Messages : 271
    Points : 104
    Points
    104

    Par défaut

    Merci. Je vais chercher à acquérir la version 2008

  7. #7
    Membre régulier
    Inscrit en
    novembre 2005
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : novembre 2005
    Messages : 271
    Points : 104
    Points
    104

    Par défaut

    Je viens d'acquérir la version 2008. Et je vois bien la fonction "GridRowColumnValue" mais je ne sais comment l'utiliser.
    Si je peux avoir une piste, je me débrouillerai pour avancer

  8. #8
    Modérateur
    Avatar de luc_chivas
    Profil pro
    Consultant BO/Crystal Reports
    Inscrit en
    avril 2004
    Messages
    1 641
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant BO/Crystal Reports

    Informations forums :
    Inscription : avril 2004
    Messages : 1 641
    Points : 2 367
    Points
    2 367

    Par défaut

    Bonjour,
    ci joint un petit exemple rapide ou je fais une comparaison différente pour chaque ligne

    j'ai restreint à 3 lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    If CurrentRowIndex = 0 Then
    if CurrentFieldValue < 10000 then cryellow else DefaultAttribute
    Else If CurrentRowIndex = 1 Then
    if CurrentFieldValue < 25000 then cryellow else DefaultAttribute
    Else If CurrentRowIndex = 2 Then
    if CurrentFieldValue < 100000 then cryellow else DefaultAttribute
    Else DefaultAttribute
    CurrentRowIndex me permet de savoir sur quelle ligne je travaille......

    Si ça peux aider
    Luc

    Disponible - Intervention sur demande
    Formateur Crystal Reports (toutes versions)
    Contrat de support possible
    N'hésitez pas.... http://paypal.me/lucrascar

  9. #9
    Membre habitué
    Inscrit en
    juin 2008
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : juin 2008
    Messages : 151
    Points : 196
    Points
    196

    Par défaut

    Citation Envoyé par djelloharmel Voir le message
    Je n'ai pas réussi à appliquer ta méthode, luc_chivas. Aussi, j'ai changé la requête sur laquelle pointe l'état.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select Fournisseur, Article, Quantité*PrixUnitaire as PrixTotal,Quantité*(select min(PrixUnitaire) from table_catalogue_des_prix where (Article=R.Article)) as PrixMinimum From table_devis as R Group By Fournisseur, Article, Quantité,PrixUnitaire
    Aussi, dans ma formule de CrystalReport, j'ai fait ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if {etat_devis.PrixTotal}={etat_devis.PrixMinimum} then crYellow
    Mais, toutes les cellules de l'état sont en noir. rendant invisible les valeurs.
    PrixMinimum étant maintenant un champs de ta table etat_devis, tu peux l'utiliser pour créer un groupe dans ton tableau croisé en dessous des groupes Fournisseur et article , ainsi ton tableau croisé sera trié par Fournisseur,article et Prix minimum .

Discussions similaires

  1. Réponses: 0
    Dernier message: 24/02/2017, 12h03
  2. [XL-2007] Copie d'image dans une cellule vers une cellule d'une autre feuille
    Par natsamfa dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 20/02/2017, 21h27
  3. Réponses: 2
    Dernier message: 29/07/2016, 16h49
  4. Réponses: 5
    Dernier message: 21/03/2016, 18h48
  5. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59

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