# Formats dynamiques : piloter chaque réglage d'un visuel Plume par une formule DAX

> Couleur du titre selon l'évolution, taille du texte calculée, style choisi par un segment : dans tous les visuels Plume Studio, chaque réglage du volet Format peut venir d'une mesure DAX, avec le bouton fx ou le champ « Format dynamique ».

- Language: French
- Web page: https://plumevisuals.com/fr/tutoriels/formats-dynamiques
- Published: 2026-10-04

Dans les visuels Plume Studio, **chaque réglage du volet Format peut venir d'une formule DAX** : la couleur d'un titre qui passe au rouge quand le chiffre d'affaires baisse, un sous-titre qui affiche la moyenne de l'année, une taille de texte ou un style choisis par un segment, un axe qui garde la même échelle quand on filtre… Deux chemins y mènent.

| | Bouton **fx** | Champ **« Format dynamique »** |
|---|---|---|
| Réglages | Toutes les **couleurs** et tous les **textes** | **Tous** les réglages : tailles, nombres, interrupteurs, listes, polices, couleurs, textes |
| Comment | Cliquez sur **fx** à côté du réglage | Glissez une mesure dans le champ et nommez-la **carte.réglage** |
| Visuels | Tous les visuels Plume (graphiques, segments, Ridgeline Plume, Map Plume…), **sauf** Table Plume, Matrix Plume et KPI Plume | Tous les visuels Plume, y compris Table Plume, Matrix Plume et KPI Plume |

## 1. Le bouton fx (couleurs et textes)

C'est la mise en forme conditionnelle habituelle de Power BI. Le bouton **fx** se trouve dans le volet **Format**, à droite de chaque réglage de couleur ou de texte, dans toutes les cartes : titre, sous-titre, note de source, couleurs personnalisées, couleurs des données, étiquettes, axes, cadre…

1. Dans le volet **Format**, repérez une couleur ou un texte (par exemple **Titre › Couleur (vide = texte)**).
2. Cliquez sur **fx**.
3. Choisissez **Valeur du champ** et une mesure qui renvoie une couleur (`"#C0392B"`) ou un texte, ou bien **Règles** / **Dégradé**.

```dax
Couleur selon l'évolution =
IF ( CALCULATE ( [Évolution 2025], ALLSELECTED () ) >= 0, "#2E7D4F", "#C0392B" )
```

Dans **Couleurs des données**, une règle fx colore chaque catégorie, comme dans les visuels natifs. Pas de bouton fx sur la carte Licence ni sur les couleurs par série (recommandation de Microsoft).

**Pourquoi pas de fx dans Table Plume, Matrix Plume et KPI Plume ?** Power BI n'autorise pas la mise en forme conditionnelle dans les visuels personnalisés de type tableau ou matrice : ces trois visuels ne peuvent pas afficher le bouton. Les mêmes réglages s'y pilotent par le champ « Format dynamique » (section 2). Pour colorer les cellules selon une valeur, Table Plume et Matrix Plume ont la carte gratuite **Éléments de cellule** (fond, police, icônes, URL web, avec le champ **Champs des éléments de cellule**) ; KPI Plume a les champs **Titre (mesure texte)**, **Note (mesure texte)**, **Icône (mesure texte)** et **Libellés de référence**.

Power BI ne propose pas non plus le bouton fx pour les tailles, les interrupteurs et les listes : utilisez alors le champ « Format dynamique ».

## 2. Le champ « Format dynamique » (tous les réglages)

1. Créez une mesure qui renvoie la valeur voulue : un nombre, un texte, une couleur, VRAI / FAUX.
2. Glissez-la dans le champ **Format dynamique** du visuel (sous les autres champs). Vous pouvez y mettre plusieurs mesures.
3. Nommez-la **carte.réglage** : clic droit sur la mesure dans le champ › **Renommer pour ce visuel**, par exemple `title.fontSize` ou `title.color`. La mesure garde son nom dans le modèle.

```dax
Taille du titre = IF ( HASONEVALUE ( Ventes[Région] ), 20, 14 )
Style du rapport = SELECTEDVALUE ( Habillage[Style], "none" )   -- à renommer style.preset
```

Les noms ne tiennent pas compte des majuscules ni des accents : `Title Color`, `title/color` et `title.color` désignent le même réglage. Les clés les plus courantes :

| Clé | Réglage | Valeurs |
|---|---|---|
| `title.text`, `title.subtitle` | Titre, sous-titre | texte |
| `title.color`, `title.fontSize` | Couleur, taille du titre | `#RRGGBB` ; nombre |
| `style.preset` | Style | `none`, `nordic`, `press`, `neon`, `dark`… |
| `style.palette` | Palette du dégradé | `auto`, `viridis`, `warmingStripes`… |
| `style.customColors` | Personnaliser les couleurs | VRAI / FAUX |
| `style.colorAccent`, `style.series1`… | Couleurs personnalisées | `#RRGGBB` |
| `container.bgColor`, `container.radius`, `container.border` | Cadre : couleur de fond, coins arrondis, bordure | `#RRGGBB` ; nombre ; VRAI / FAUX |
| `dataColors.single`, `dataColors.mode` | Couleur des données | `#RRGGBB` ; `single`, `category`… |
| `gridlines.hShow`, `gridlines.valShow` | Quadrillage horizontal (Line, Scatter…) ; des valeurs (Bar Plume) | VRAI / FAUX |
| `columnHeaders.background` | En-têtes de colonnes (Table, Matrix Plume) | `#RRGGBB` |
| `header.title`, `header.fontSize` | En-tête des segments | texte ; nombre |

**Valeurs acceptées.** Couleurs : `#RGB`, `#RRGGBB`, `rgb(…)` et quelques noms (`red`, `navy`, `gold`…). Nombres : un nombre DAX ou un texte comme « 12,5 », borné au minimum et au maximum du réglage. Interrupteurs : VRAI / FAUX, 1 / 0, « oui » / « non ». Listes : la valeur technique (`center`) ou le libellé du volet (« Centre »). Écrivez le libellé tel qu'il est affiché dans le volet, « ★ » compris : le moteur ne reconnaît pas encore un libellé sans son ★ (« Néon ★ », pas « Néon » ; la valeur technique `neon` marche aussi).

En mode édition, une mesure au nom inconnu ou à la valeur inutilisable est signalée dans le visuel (« Format dynamique : réglage inconnu… ») et simplement ignorée : le réglage du volet s'applique.

## 3. Les anciens noms restent acceptés

Le 30/10/2026, le volet Format de tous les visuels Plume a été réorganisé : certaines cartes ont été renommées ou regroupées pour porter le même nom partout. Une mesure nommée avec l'**ancien nom** continue de fonctionner, et un rapport existant garde ses réglages. Pour une nouvelle mesure, utilisez le nouveau nom (celui de la référence technique du visuel).

| Ancien nom | Nouveau nom | Visuels |
|---|---|---|
| `style.radius`, `style.bgShow`, `style.bgColor`, `style.bgColor2` | `container.radius`, `container.bgShow`, `container.bgColor`, `container.bgColor2` (carte **Cadre**) | graphiques (`style.radius` aussi dans les segments) |
| `header.fontSize`, `header.background`… | `columnHeaders.fontSize`, `columnHeaders.background`… (carte **En-têtes de colonnes**) | Table Plume, Matrix Plume |
| `valAxis.grid`, `valAxis.gridColor`, `catAxis.grid` | `gridlines.valShow`, `gridlines.valColor`, `gridlines.catShow` (carte **Quadrillage**) | Bar Plume |
| `yAxis.grid`, `yAxis.gridColor`, `xAxis.grid` | `gridlines.hShow`, `gridlines.hColor`, `gridlines.vShow` | Line Plume, Scatter Plume, Hexbin Plume, Stream Plume |
| `bars.orientation`, `bars.layout` | `layout.orientation`, `layout.type` (carte **Disposition**) | Bar Plume |
| `display.mode` | `layout.mode` | Ridgeline Plume |
| `labels.*` (noms des catégories) | `categoryLabels.*` (carte **Étiquettes des catégories**) | Sankey Plume, Chord Plume, Ridgeline Plume |
| `compare.*` | `comparison.*` (carte **Comparaison**) | Period Plume, KPI Plume, Heatmap, Radar, Word Cloud, Beeswarm Plume… |

Chaque visuel liste ses noms changés dans son historique des versions.

## 4. Garder la même échelle quand le rapport est filtré

Quand un segment ou un clic filtre le rapport, les axes se recalculent : la plus haute barre touche toujours le haut du graphique, et on ne voit plus que les valeurs ont baissé. Pour garder l'échelle, pilotez le **minimum** et le **maximum** de l'axe par une mesure qui **ignore les filtres**.

1. Créez la mesure du maximum, calculée sur toutes les données :

```dax
Max de l'axe =
CALCULATE ( MAXX ( VALUES ( Produits[Catégorie] ), [CA] ), REMOVEFILTERS () )
-- ou, quand chaque point est une ligne : CALCULATE ( MAX ( Ventes[Montant] ), ALL ( Ventes ) )
```

2. Glissez-la dans **Format dynamique** et renommez-la avec la clé de l'axe du visuel : `valAxis.max` (Bar Plume), `yAxis.max` (Line, Waterfall, Candle, Stream Plume), `xAxis.max` et `yAxis.max` (Scatter, Hexbin Plume), `scale.max` (Gauge, Heatmap, Radar, Shape Gauge Plume), `timeAxis.min` / `timeAxis.max` (Gantt, Timeline Plume). Faites de même pour le minimum si besoin (`valAxis.min`, `yAxis.min`…).
3. Filtrez le rapport : les barres raccourcissent, l'axe ne bouge plus.

> **Warning:** Utilisez `REMOVEFILTERS ()`, `REMOVEFILTERS ( Table )` ou `ALL ( Table )`, **pas `ALLSELECTED ()`** : `ALLSELECTED` suit les segments et les filtres croisés, donc l'échelle bougerait encore.

Les clés exactes de chaque visuel (Minimum, Maximum, Début de l'axe…) sont dans sa page « Champs et réglages » et dans sa référence technique.

## 5. Quelle valeur est retenue ?

Power BI calcule la mesure **pour chaque élément** du visuel (chaque barre, chaque crête). Pour un réglage global comme le titre, le visuel retient la valeur du **total** quand Power BI la fournit (Matrix Plume, KPI Plume), sinon la valeur commune à tous les éléments, sinon celle du premier. Pour obtenir la valeur du visuel entier tel qu'il est filtré, entourez le calcul de `CALCULATE ( …, ALLSELECTED () )`, comme dans les exemples ci-dessus ; pour une valeur qui ignore les filtres (échelle fixe), utilisez `REMOVEFILTERS` ou `ALL` (section 4).

Ordre de priorité : la formule DAX l'emporte sur le réglage du volet, sur le style et sur le thème JSON ; le champ « Format dynamique » l'emporte sur une règle fx ; seul le contraste élevé de Windows passe avant.

## 6. Bon à savoir

- **Performances** : une mesure du champ « Format dynamique » qui ne renvoie jamais de valeur vide peut faire apparaître des combinaisons sans données quand deux champs de tables différentes sont en catégories. Écrivez-la pour qu'elle reste vide là où le visuel n'a pas de données, par exemple `IF ( NOT ISBLANK ( [CA] ), 14 )`.
- **Fonctions ★** : piloter un réglage par DAX est gratuit ; un réglage ★ (un style payant, par exemple) reste ★ et affiche le filigrane « Aperçu premium » sans clé de licence, comme s'il était choisi à la main.
- **Rapports modèles** : chaque rapport d'exemple montre un format dynamique (titre ou couleur calculés, échelle gardée sous un filtre) et le rappelle dans sa page **Astuces**.
