2.4 · Paramètres & invites (prompts)

Niveau 2 · Intermédiaire : tri, regroupement & sélection

2.4Paramètres & invites (prompts)

Objectif : Créer des paramètres et les intégrer au filtre pour un rapport générique et réutilisable.
Temps estimé : 11 min · lecture autonome · Si vous n'avez que 5 min : lisez « L'essentiel en 30s » + le schéma.

L'essentiel en 30 secondes

  • Paramètre = valeur demandée à l'exécution : nom, invite claire, type — le rapport s'adapte à la saisie.
  • Usage n°1 = filtrer : le paramètre alimente la sélection — un seul modèle pour toutes les années et régions.
  • Liste + défaut + serveur : menu de valeurs, valeur courante pré-remplie, filtre côté base — guidé, rapide, sans faute.

Mini-cas filé — Farès et les douze copies du même état

Farès maintient une copie de son état par année et par région : douze fichiers quasi identiques, chaque correction à reporter partout. Il crée un paramètre Année (invite « Sélectionnez l'année », type nombre, liste 2024-2026, défaut 2026) et un paramètre Région (liste de valeurs), puis les intègre à sa sélection : l'utilisateur choisit à l'exécution, un seul modèle sert tous les cas. Il affiche même l'année choisie dans le titre (« Ventes 2026 — Nord »). En 2.5, il ajoutera un paramètre « Afficher le détail ? » pour basculer synthèse/détail sans dupliquer le rapport.

Suite du fil rouge 2.3 : le filtre figé de Farès devient interactif — et continue en 2.5.

1. Une valeur demandée à l'exécution

Un paramètre (Parameter) est une valeur que Crystal Reports demande à l'utilisateur au moment d'exécuter le rapport (« Quelle année ? », « Quel client ? », « Montant minimum ? »). L'utilisateur saisit ou choisit une valeur, et le rapport s'adapte. On crée un paramètre dans l'explorateur de champs (« Champs de paramètre → Nouveau ») : on lui donne un nom, une invite (prompt) — le texte affiché : « Sélectionnez l'année » — un type (nombre, texte, date, booléen…) et des options (valeur unique ou multiple, liste de valeurs, valeur par défaut). Farès crée {?Annee} et {?Region} pour son état des ventes.

2. Usage n°1 : filtrer

Le plus courant : le paramètre alimente la sélection des enregistrements (2.3) — par exemple « Date de commande dans l'année {?Annee} » — pour n'afficher que les données choisies. Un seul rapport sert ainsi pour toutes les années, tous les clients, au lieu d'un rapport par cas. Autres usages : afficher la valeur choisie dans le rapport (« Ventes {?Annee} — {?Region} ») pour titrer selon la saisie, ou piloter des formules et la mise en forme (niveau 3). Farès remplace sa valeur 2026 en dur par {?Annee} : le rapport 2025, 2026 ou Nord, Sud sort du même modèle.

3. Options et bonnes pratiques

Options importantes : valeurs multiples (choisir plusieurs clients à la fois, filtre « dans la liste »), plage (entre deux dates), liste de valeurs (menu déroulant : statique, ou dynamique alimentée par la base — niveau 5), valeur par défaut, paramètre optionnel. Les paramètres se combinent (année ET région ET seuil). Bonnes pratiques : intégrer le paramètre au filtre en restant côté serveur (performance, 2.3) ; soigner l'invite (texte clair) ; proposer une liste de valeurs quand c'est possible (évite les fautes de saisie « nord » contre « Nord »). Farès liste les régions et pré-remplit l'année en cours.

Erreur d'interprétation fréquente : « Créer un paramètre suffit à filtrer le rapport ». Non. Un paramètre inutilisé ne change rien : il doit être INTÉGRÉ à la sélection des enregistrements (ou à une formule) pour agir. La règle de Farès : paramètre créé → formule de sélection qui l'utilise → test à l'exécution avec deux valeurs différentes pour prouver que le rapport s'adapte.
Un paramètre rend le rapport réutilisable Demander, filtrer, adapter Invite « Sélectionnezl'année ? » ({?Annee})Filtre Date dans l'annéechoisie (sélection)Rapport adapté Unmodèle, tous les cas
Demander, filtrer, adapter
Version texte du schéma (SEO / lecteurs d'écran / traduction) : 1) Farès DEMANDE : deux paramètres — {?Annee} (liste, défaut année en cours) et {?Region} (liste de valeurs) — avec des invites claires. 2) Il FILTRE : la sélection utilise les paramètres au lieu de valeurs en dur, en restant côté serveur pour la performance. 3) Il ADAPTE : le titre affiche les valeurs choisies, un seul modèle couvre toutes les années et régions, testé avec deux saisies différentes. Leçon : un paramètre n'agit que s'il est branché sur la sélection.

🔎 Exemple concret — 🔎 Exemple concret — Un modèle pour toutes les années

L'état de Farès, de la valeur figée au paramètre :

Avant (en dur) : Year({Commandes.DateCommande}) = 2026 → un rapport par année.
Après (paramètre) : Year({Commandes.DateCommande}) = {?Annee}
  and {Clients.Region} = {?Region} → l'utilisateur choisit ; un seul modèle.

Lecture : le paramètre remplace la valeur en dur dans la formule de sélection.

Leçon : proposer une liste de valeurs + une valeur par défaut pour guider la saisie.

Vocabulaire de la section

Paramètre (Parameter)
Une valeur DEMANDÉE à l'utilisateur à l'exécution (année, client, seuil) ; le rapport s'adapte à la saisie. Créé dans l'explorateur (Champs de paramètre).

Exemple simple : Farès crée {?Annee} : l'utilisateur choisit 2025 ou 2026 à l'exécution.

Ce que ce n'est pas : une valeur figée en dur dans le filtre.

Réflexe : cas multiples = paramètre, pas copie.

Invite (prompt)
Le texte affiché à l'utilisateur pour saisir le paramètre (« Sélectionnez l'année ») ; à rédiger clairement.

Exemple simple : L'invite de Farès dit « Sélectionnez l'année », pas « Param1 ».

Ce que ce n'est pas : le nom technique interne du paramètre.

Réflexe : invite = phrase claire d'action.

Paramètre de filtrage
L'usage le plus courant : le paramètre alimente la SÉLECTION des enregistrements pour n'afficher que les données choisies.

Exemple simple : La sélection de Farès utilise {?Annee} et {?Region} au lieu de valeurs fixes.

Ce que ce n'est pas : un paramètre créé mais jamais branché.

Réflexe : paramètre = branché sur la sélection.

Options de paramètre
Type, valeur unique/MULTIPLE, PLAGE, LISTE de valeurs (statique ou dynamique), valeur par DÉFAUT, optionnel.

Exemple simple : Farès autorise plusieurs régions et pré-remplit l'année en cours.

Ce que ce n'est pas : une saisie libre obscure sans guide.

Réflexe : liste + défaut d'abord.

En pratique — En pratique — Créer des paramètres interactifs

  1. Créez un paramètre (explorateur → Champs de paramètre → Nouveau) : nom, INVITE claire (« Sélectionnez l'année »), type, options (unique/multiple, plage, liste de valeurs, défaut).
  2. Intégrez-le à la SÉLECTION des enregistrements (« Date de commande dans l'année {?Annee} ») — de façon à rester côté serveur si possible.
  3. Affichez éventuellement la valeur choisie dans le rapport (titre « Ventes {?Annee} — {?Region} »).
  4. Testez à l'exécution : l'invite apparaît, vous saisissez/choisissez, le rapport s'adapte. Un seul modèle sert tous les cas.
Vous créez des paramètres et invites qui rendent le rapport interactif et RÉUTILISABLE : un seul modèle pour toutes les périodes/clients, personnalisé à l'exécution — un vrai outil.

Script prêt à dire — vendre le modèle unique (30 s)

« Fini les douze copies : un seul état des ventes, avec deux questions au lancement — l'année et la région. Vous choisissez, le rapport filtre et titre en conséquence. Moins de fichiers, une seule correction à faire, et pas de faute de saisie grâce aux listes. Testez : lancez-le pour 2025 Nord puis 2026 Sud. »

À dire en lançant l'état de Farès deux fois avec deux couples de valeurs, titres à l'appui.

Modèle copier-coller — sélection pilotée par paramètres

Year({Commandes.DateCommande}) = {?Annee}
Year({Commandes.DateCommande}) = {?Annee} and {Clients.Region} = {?Region}
{Commandes.DateCommande} in {?PlageDates}
{Clients.Ville} in {?Villes} // paramètre à valeurs multiples

Plage de dates

Farès propose une plage du 01/01 au 31/12 : l'utilisateur saisit deux bornes pour la période.

Plusieurs clients

Paramètre à valeurs multiples : Farès choisit trois clients d'un coup, filtre « dans la liste ».

Seuil de montant

Paramètre seuil avec défaut 1 000 : Farès ne garde que les commandes significatives, modifiable à l'exécution.

Invite obscure

Invite « Param1 : » : personne ne sait quoi saisir — Farès la réécrit « Sélectionnez la région ».

✓ Bonnes pratiques

  • Proposez une liste de valeurs (menu déroulant) plutôt qu'une saisie libre.
  • Fournissez une valeur par défaut sensée (l'année en cours).
  • Intégrez le paramètre au filtre en restant côté serveur (performance).

✗ Pièges fréquents

  • Saisie libre source de fautes (préférez une liste de valeurs).
  • Un paramètre non intégré au filtre (le rapport ne s'adapte pas).
  • Une invite obscure qui déroute l'utilisateur.

Points clés à retenir

  • Un PARAMÈTRE est une valeur demandée à l'utilisateur à l'exécution via une INVITE ; le rapport s'adapte.
  • Usage n°1 : FILTRER — le paramètre alimente la sélection. Un SEUL rapport sert tous les cas (générique, réutilisable).
  • Options : valeurs MULTIPLES, PLAGE, LISTE de valeurs (statique/dynamique), valeur par DÉFAUT. Les paramètres se combinent.
  • Bonnes pratiques : rester CÔTÉ SERVEUR, soigner l'INVITE, proposer une LISTE de valeurs. Peut aussi titrer le rapport.

Défi 48h — appliquez demain

Sur votre état filtré en dur : créez un paramètre (invite claire, liste, défaut), branchez-le sur la sélection, affichez-le dans le titre, puis testez 2 valeurs différentes à l'exécution.

Checklist sortie de section
  • Je peux créer un paramètre (nom, invite, type, liste, défaut).
  • Je sais le brancher sur la sélection (rapport qui s'adapte).
  • Je teste à l'exécution avec plusieurs valeurs (réutilisable prouvé).
Auto-évaluation 1-5 : est-ce que mon invite est claire et guidée ?est-ce que mon paramètre agit vraiment sur le filtre ?

Questions fréquentes

Comment un paramètre rend-il un rapport réutilisable, et comment filtrer avec ?

Sans paramètre, un filtre en dur (Date dans 2026) oblige à modifier ou copier le rapport pour chaque cas. Un paramètre est une valeur demandée à l'exécution : l'utilisateur choisit, et le rapport s'adapte — un seul modèle sert tous les cas. Pour filtrer : (1) créez le paramètre (explorateur → Champs de paramètre → Nouveau : nom, invite, type, options) ; (2) intégrez-le à la sélection des enregistrements en remplaçant la valeur en dur : « Year({Commandes.DateCommande}) = {?Annee} ». À l'exécution, l'invite apparaît et le rapport n'affiche que l'année choisie. Bonnes pratiques : rester côté serveur, proposer une liste de valeurs, une valeur par défaut, et afficher la valeur choisie dans le titre.

Quelles options de paramètres pour une bonne expérience ?

Choisissez le bon type (Nombre, Date, Texte, Booléen). Valeur unique pour un seul choix ; valeurs multiples pour en choisir plusieurs (filtre « est dans la liste »). Plage pour un intervalle (« entre deux dates »). Liste de valeurs (statique ou dynamique — alimentée par la base) pour guider et éviter les fautes de frappe : c'est l'option qui améliore le plus l'expérience. Valeur par défaut pour le cas courant ; paramètre optionnel pour un filtre facultatif. Rédigez des invites claires. Préférez les listes de valeurs à la saisie libre, et couvrez les vrais besoins (multiples/plages) sans multiplier les exécutions.

Vérifiez votre compréhension

À quoi sert principalement un paramètre ?

Ressources supplémentaires (optionnel, pour aller plus loin)

Examen du niveau 2Questions inédites et durcies pour valider vos acquis