Bonjour,
A partir de 2 variables :
- CA N
- CA N-1
Je calcule l'évolution du CA N par rapport à CA N-1 :
- EvolCA = (CA N - CA N-1) / CA N-1
Jusque là, pas de soucis, j'ai défini le format des nombres, et j'ai les 3 variables suivantes :
Ensuite, j'affiche ces variables dans un tableau. Ce que je voudrais c'est changer la couleur de EVOL_CA_HT_N_vs_N1 selon le nombre retourné :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <xsl:decimal-format name = "chiffres" decimal-separator="." grouping-separator=" " minus-sign="-" digit="D" pattern-separator="!" /> <xsl:variable name="CA_HT_N" select="sum(/.../@ca_ht)"/> <xsl:variable name="CA_HT_N1" select="sum(/.../@ca_ht_n1)"/> <xsl:variable name="EVOL_CA_HT_N_vs_N1"> <xsl:choose> <xsl:when test="$CA_HT_N1 != 0"> <xsl:value-of select="(($CA_HT_N - $CA_HT_N1) div $CA_HT_N1 * 100)"/> </xsl:when> <xsl:otherwise>0</xsl:otherwise> </xsl:choose> </xsl:variable>
- = 0 : Noir
- > 0 : Vert
- < 0 : Rouge
Du coup, j'ai fait un CHOOSE avec les 3 tests. Ca fonctionne, certes, mais je ne trouve pas ça terrible car très lourd vu le nombre d'indicateurs que j'ai à afficher :
Est-ce que quelqu'un aurait une solution plus simple à me proposer ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <xsl:choose> <xsl:when test="$EVOL_CA_HT_N_vs_N1 < 0"> <font color="red"> <xsl:value-of select="format-number($EVOL_CA_HT_N_vs_N1, 'DD0.0', 'chiffres')"/> </font> </xsl:when> <xsl:when test="$EVOL_CA_HT_N_vs_N1 = 0"> <font color="black"> <xsl:value-of select="format-number($EVOL_CA_HT_N_vs_N1, 'DD0.0', 'chiffres')"/> </font> </xsl:when> <xsl:otherwise> <font color="green"> <xsl:value-of select="format-number($EVOL_CA_HT_N_vs_N1, 'DD0.0', 'chiffres')"/> </font> </xsl:otherwise> </xsl:choose>
Merci d'avance pour votre aide.
Partager