---
title: Requêteur
description: Créer et gérer des requêtes personnalisées pour extraire des données.
---

# Requêteur

Le requêteur permet de créer des extractions de données personnalisées. Les utilisateurs les exécutent ensuite depuis **Production**, **Facturation** ou **Annuaire**.

**Menu** : **Administration** > **Contrôles des données** > **Requêteur**

## Les 3 modules disponibles

| Module | Description | Tables principales | Accès utilisateurs |
|--------|-------------|-------------------|-------------------|
| **Production** | Données métier | Dossiers, groupes, bénéficiaires, conseillers, prestations | Production > Rapports > Requêtes |
| **Facturation** | Données financières | Factures, encaissements, clients, règlements | Facturation > Rapports > Requêtes |
| **Annuaire** | Données contacts | Personnes, sociétés, types d'entités | Annuaire > Rapports > Requêtes |

## Créer une requête

S'il n'existe encore aucune requête : **Aucune requête**, avec *Aucune requête n'a été créée. Cliquez sur "Nouvelle requête" pour en créer une.*

1. Cliquez sur **Nouvelle requête**
2. Saisissez le **Nom de la requête** (placeholder **Saisir le nom de la requête**) et le **Module** (placeholder **Choisir un module**)
3. Cliquez sur **Enregistrer**

Après cet enregistrement, la **Description** (placeholder **Saisir une description**), les options du module, puis les sections **Filtres** et **Affichage** apparaissent. Le choix du module détermine les données requêtables.

### Options par module

#### Module Production
| Option | Description |
|--------|-------------|
| **Groupes** | Requêter sur les groupes de dossiers plutôt que les dossiers individuels |

#### Module Facturation
| Option | Description |
|--------|-------------|
| **Groupes** | Requêter sur les groupes plutôt que les dossiers |
| **Factures groupées** | Activer si vos factures portent sur plusieurs dossiers |

---

## Les filtres

Les filtres limitent les résultats de la requête.

### Filtres à valeur fixe

La valeur est définie à la création et ne peut pas être modifiée à l'exécution.

**Exemple** : Afficher uniquement les dossiers à l'état "En cours"

### Filtres dynamiques

L'utilisateur saisit la valeur au moment d'exécuter la requête.

| Type | Usage | Ce que voit l'utilisateur |
|------|-------|---------------------------|
| **Saisie texte** | Recherche textuelle | Champ libre (**Saisir une valeur**) |
| **Saisie nombre** | Valeur numérique | Champ nombre (**Saisir un nombre**) |
| **Liste déroulante** | Choix dans une liste | Menu (**Choisir une valeur**) |
| **Intervalle de dates** | Période | Deux champs date (**du** / **au**) |
| **Intervalle de nombres** | Fourchette | Deux champs nombre (**entre** / **et**) |
| **Intervalle d'heures** | Plage horaire | Deux champs heure (**du** / **au**) |

L'écran d'exécution (boutons **Appliquer** et **Tableur**) est décrit dans [Requêtes](/docs/pilotage/requetes#exécuter-une-requête).

### Ajouter un filtre

1. Section **Filtres**, cliquez sur **Ajouter un filtre** (fenêtre **Nouveau filtre**)

**Premier filtre.** Tant qu'aucun filtre n'existe, la fenêtre n'affiche que les champs de date de la table principale, sous le bandeau **Filtres** (*Les filtres permettent de limiter le résultat de la requête afin d'éviter de manipuler un trop grand nombre de données.*). Le menu s'intitule **Filtre sur** suivi de **Dossier**, **Groupe**, **Facture** ou **Personne**. Choisissez un champ (placeholder **Choisir un filtre**) : le filtre est enregistré tout de suite, en intervalle de dates, et la fenêtre se ferme.

S'il n'y a pas de champ de date, ou dès qu'un filtre existe, la fenêtre propose **Table** (placeholder **Choisir une table**) puis **Champ** (placeholder **Choisir un champ**).

Sur un champ **texte libre** (pas une liste), un menu **Opérateur** s'affiche : **contient** (par défaut), **ne contient pas**, **=**, **différent de**. **contient** cherche le mot n'importe où dans le champ. Un champ lié à une liste reste en égalité, sans ce menu.

Si le champ est lié à une liste, le bandeau **Faut-il choisir une valeur ?** apparaît : une **Valeur** fixe (placeholder **Choisir une valeur**), ou rien — téo demandera alors la valeur à l'exécution.

À l'exécution, le libellé du critère reprend l'opérateur (**Nom contient**, **Nom ne contient pas**…). **ne contient pas** n'inclut pas les lignes dont le champ n'est pas renseigné.

**Modifier ou supprimer un filtre.** Cliquez la ligne : fenêtre **Modifier le filtre**. Poubelle → **Supprimer le filtre** (*Confirmez-vous la suppression du filtre ?* — **Oui, supprimer** / **Non, annuler**).

:::info[Un seul filtre par champ]
Une requête ne peut contenir qu'**un seul filtre par champ**. Si un filtre existe déjà sur le champ choisi, téo refuse le second et affiche le message « Filtre déjà présent sur ce champ ». Pour changer la valeur recherchée, modifiez ou supprimez le filtre existant. Cette limite ne concerne pas les champs utilisés comme colonnes ou comme axes d'un tableau croisé.
:::

---

## L'affichage

Deux modes disponibles. **Le choix est définitif.**

### Mode Liste (par défaut)

Tableau classique avec une colonne par champ.

```
| Bénéficiaire | Prestation | Date début | État     |
|--------------|------------|------------|----------|
| Bénéficiaire A | Bilan      | 01/01/2024 | En cours |
| Bénéficiaire B | VAE        | 15/01/2024 | Terminé  |
```

**Configuration** :
1. Cliquez sur **Ajouter une colonne** (fenêtre **Nouvelle colonne**, bandeau **Colonne d'une liste**)
2. Sélectionnez **Table** puis **Champ**
3. Répétez pour chaque colonne
4. Dans le tableau **Colonnes affichées**, colonne **Ordre** : glissez la poignée (**Glisser pour réordonner**) ou saisissez le numéro de position. L'ordre s'enregistre tout de suite, sans recharger la page.

Pour modifier : cliquez la ligne (**Modifier la colonne**). Poubelle → **Supprimer la colonne**.

:::info[Valeurs affichées pour la prestation]
Quand vous ajoutez la colonne **Prestation** > **Prestation**, le résultat affiche le **nom** de la prestation (par exemple « Bilan » ou « VAE »), et non un numéro technique. Le même principe s'applique aux autres champs issus d'une liste (état, sous-gamme, origine de la demande, etc.) : c'est le libellé lisible qui apparaît dans le tableau et dans l'export **Tableur**.
:::

:::info[Une ligne par dossier, facture ou personne]
Le mode Liste compte **un résultat par élément** (dossier, groupe, facture, encaissement, personne ou société), même si les colonnes affichées sont identiques. Un filtre sur une table de détail (**Lignes de facture**, par exemple) ne duplique pas la ligne.

Pour une ligne par détail, ajoutez aussi une colonne issue de cette table.

Côté utilisateur : [Une ligne par dossier, facture ou personne](/docs/pilotage/requetes#une-ligne-par-entite).
:::

### Mode Tableau croisé

Comptage par combinaison de deux dimensions.

```
| État / Prestation | Bilan | VAE | Orientation |
|-------------------|-------|-----|-------------|
| En cours          | 12    | 8   | 5           |
| Terminé           | 45    | 23  | 34          |
```

**Configuration** :
1. Dans la section **Affichage**, cliquez sur **Ajouter une colonne**
2. Choisissez le mode **Tableau croisé** sous **Mode d'affichage** (le choix **Liste (par défaut)** / **Tableau croisé** n'apparaît qu'à la première colonne)
3. Renseignez les deux axes :
   - **Abscisse (horizontal)** : table + champ
   - **Ordonnée (vertical)** : table + champ
4. Enregistrez

Dans la section **Affichage**, le tableau s'intitule **Tableau croisé**. La colonne **Position** indique **Horizontale** ou **Verticale**.

**Compléter un axe manquant** :

| Situation | Action |
|-----------|--------|
| Abscisse présente, ordonnée absente | Bouton **Ajouter une verticale** |
| Ordonnée présente, abscisse absente | Bouton **Ajouter une horizontale** |

**Modifier un axe** :

1. Cliquez sur la ligne de l'axe à modifier
2. La fenêtre s'ouvre sur **Modifier l'abscisse (horizontal)** ou **Modifier l'ordonnée (vertical)**
3. Changez la table et le champ de **cet axe uniquement**
4. Enregistrez — l'autre axe n'est pas modifié

**Supprimer un axe** :

1. Ouvrez l'axe à supprimer
2. Cliquez sur l'icône poubelle
3. Confirmez (**Supprimer l'abscisse** ou **Supprimer l'ordonnée**)

:::caution[Mode non modifiable]
Une fois choisi, impossible de basculer vers l'autre mode.
:::

---

## Tables et champs disponibles

Les tables proposées dépendent du module et, pour Production et Facturation, de l'option **Groupes**.

### Module Production — dossiers \{#module-production-dossiers}

Option **Groupes** décochée.

| Table | Champs principaux |
|-------|-------------------|
| **Dossier** | État, dates (création, début, fin, commande), durées (**Durée production réelle** = séances validées seulement ; **Durée production prévisionnelle**), montants, **Numéro externe** (le **N° externe** du bloc **Commande** de la fiche), **Origine de la dem.**, **Modalité** (libellé de la fiche : Présentiel, Distanciel, Mixte…), **abandonné**, **age** (au démarrage : date de début, sinon date de création ; années révolues ; 0 si une date manque), **informations complémentaires**, UUID. Les champs **Auteur** / **Créé par** de la fiche dossier ne sont **pas** proposés dans le sélecteur (ni filtre, ni colonne). |
| **Prestation** | Prestation, code, Sous-gamme, durée bénéficiaire, durée de production |
| **Bénéficiaire** | Nom, prénom, adresse, email, téléphones, date naissance, **genre** |
| **Bénéficiaire (autres données)** | Niveau de formation, qualification, secteur d'activité, situation professionnelle, **personne handicapée** |
| **France Travail** | N° DE, date d'inscription |
| **Conseiller** | Nom, prénom, email, téléphones |
| **Société du bénéficiaire** | Raison sociale, SIRET |
| **Gestionnaire du dossier** | Nom, prénom, coordonnées |
| **Commercial** | Nom, prénom, coordonnées |
| **Financeur** | Raison sociale, adresse, SIRET, secteur |
| **Financeur bénéficiaire** | Financeur bénéficiaire |
| **Centre** | Nom, adresse, téléphone |
| **Lieu** | Nom, adresse, CP, ville |
| **Tarification** | Tarification, dates, numéro de convention, numéro de lot |
| **Facture** | Numéro, date, montants HT/TVA/TTC, soldée |
| **Prescripteur** | Nom, prénom, e-mail, téléphones, fonction |
| **Donneur d'ordre** | Raison sociale, adresse, SIRET |
| **Référent externe** | Nom, prénom, e-mail, téléphones, fonction |
| **Événements** | Événement, date |
| **Échéances** | Événement, numéro de facture, montant prévu, date facture |

:::info[N° externe]
Le **N° externe** de la fiche (bloc **Commande**) s'appelle **Numéro externe** dans le requêteur. Table **Dossier**, champ texte. Ce n'est pas le **N° DE** de **France Travail**, ni le **N° lettre commande** (le **N° de commande** de la fiche). L'option **Groupes** ne propose pas ce champ : il n'existe que sur le dossier.
:::

### Module Production — groupes \{#module-production-groupes}

Option **Groupes** cochée. La table **Groupe** remplace **Dossier**. Les tables **Bénéficiaire**, **Événements**, **Échéances**, **Prescripteur**, **Donneur d'ordre** et **Référent externe** ne sont pas proposées.

| Table | Champs principaux |
|-------|-------------------|
| **Groupe** | Nom du groupe, État, dates, durées, **informations complémentaires**, abandonné |
| **Prestation** | Prestation, code, Sous-gamme, durée bénéficiaire, durée de production |
| **Conseiller** | Nom, prénom, email, téléphones |
| **Gestionnaire du groupe** | Nom, prénom, coordonnées |
| **Commercial** | Nom, prénom, coordonnées |
| **Financeur** | Raison sociale, adresse, SIRET, secteur |
| **Centre** | Nom, adresse, téléphone |
| **Lieu** | Nom, adresse, CP, ville |
| **Tarification** | Tarification, dates, numéro de convention, numéro de lot |
| **Facture** | Numéro, date, montants HT/TVA/TTC, soldée |

Mélanger **Dossier** et **Groupe** dans la même requête affiche **Requête incohérente**.

### Module Facturation

| Table | Champs principaux |
|-------|-------------------|
| **Facture** | Numéro, date, échéance, montants, taux TVA, comptes, soldée, exportée, avoir |
| **Dossier** | État, dates, durées, **Numéro externe** |
| **Groupe** | Nom, état |
| **Encaissement** | Date, montants, mode paiement, n° chèque, exporté |
| **Client** | Raison sociale, adresse, SIRET |
| **Client bénéficiaire** | Nom, prénom, coordonnées |
| **Compte** | Nom, numéro |
| **Lignes de facture** | Description, PU HT, quantité, montant HT |
| **Prestation du dossier** (ou **du groupe**) | Prestation, code, Sous-gamme, durées |
| **Tarification du dossier** (ou **du groupe**) | Tarification, dates, numéro de convention |
| **Bénéficiaire** | Nom, prénom |
| **Conseiller** | Nom, prénom |
| **Centre** | Nom, adresse |
| **Lieu** | Nom, adresse |

### Module Annuaire

| Table | Champs principaux |
|-------|-------------------|
| **Personne** | Nom, prénom, adresse, email, téléphones, date naissance, fonction, service |
| **Société** | Raison sociale, adresse, SIRET, secteur |
| **Profil de société** | Code type d'entité |
| **Profil de personnes** | Code type d'entité |

---

## Tester la requête

1. Cliquez sur **Tester** (icône engrenages) depuis l'écran d'édition
2. Renseignez les filtres dynamiques
3. Cliquez sur **Appliquer**
4. Vérifiez les résultats

:::info[Même requête que **Rapports** > **Requêtes**]
**Tester** exécute la requête telle que les utilisateurs la lancent : mêmes colonnes, mêmes filtres, même limite de **2000** lignes, mêmes bandeaux (voir [Messages d'erreur](#messages-derreur)).

Le bouton **Tableur** n'apparaît pas dans cette fenêtre. Pour exporter, ouvrez la requête depuis le module concerné :

| Source de données principale | Chemin d'exécution |
|---|---|
| Dossiers / Production | **Production** > **Rapports** > **Requêtes** |
| Facturation / Factures / Règlements | **Facturation** > **Rapports** > **Requêtes** |
| Annuaire / Personnes / Sociétés | **Annuaire** > **Rapports** > **Requêtes** |

**Tableur** télécharge le résultat affiché (mêmes colonnes, arrêt à **2000** lignes).
:::

:::tip[Filtre sur plusieurs valeurs : un seul filtre, plusieurs cases]
Pour récupérer par exemple les dossiers qui sont **soit Prévisionnel, soit Sans suite, soit Refusé**, créez **un seul** filtre **État** et **cochez les trois valeurs** dans le sélecteur.

Vous ne pouvez pas ajouter **trois filtres État séparés** (un par valeur) : téo refuse un second filtre sur un champ déjà filtré. Plusieurs filtres sur le même champ se combineraient en « État = Prévisionnel **ET** État = Sans suite **ET** État = Refusé » — situation impossible, aucun dossier ne pouvant avoir trois états simultanés.

La règle générale : **plusieurs filtres = ET (cumul)**, **plusieurs valeurs cochées dans un même filtre = OU (alternatives)**.
:::

:::tip[Calculer un CA net avec les avoirs]
Le requêteur **n'applique pas** de calcul métier : il extrait les montants tels qu'ils sont stockés en base. Les avoirs apparaissent donc avec un **montant positif** dans la requête (et ne sont pas déduits automatiquement du total des factures).

Pour reconstituer un CA net (factures − avoirs) :

1. Ajoutez la colonne **Facture > Avoir** à votre requête. Elle renvoie `1` pour les avoirs et `0` (ou vide) pour les factures classiques.
2. Exportez en tableur.
3. Dans Excel, filtrez sur la colonne **Avoir** pour soustraire les montants des avoirs au total des factures (ou utilisez une formule conditionnelle `=SI(Avoir=1; -Montant; Montant)` cumulée).

Si vous cherchez le CA net directement dans téo sans tableur intermédiaire, utilisez plutôt **Pilotage** > **Comptabilité** > **CA par conseiller / Société / Période** : ces écrans intègrent nativement la déduction des avoirs.
:::

### Messages d'erreur

Ces bandeaux s'affichent à l'exécution (**Tester**, ou **Rapports** > **Requêtes**). Le titre en gras est le sous-titre à l'écran.

| Message | Que faire |
|---------|----------|
| **Requête incomplète** — Aucune colonne à afficher n'a été définie. Veuillez configurer au moins un champ à afficher dans le requêteur. | Ajoutez au moins une colonne dans **Affichage**. |
| **Requête incohérente** — La requête doit être liée à un dossier | Module **Production** : ajoutez une colonne ou un filtre **Dossier**. |
| **Requête incohérente** — La requête doit être liée à un groupe | Option **Groupes** : ajoutez une colonne ou un filtre **Groupe**. |
| **Requête incohérente** — La requête doit être liée à la facture ou le règlement | Module **Facturation** : ajoutez une colonne **Facture** ou **Encaissement**. |
| **Requête incohérente** — La requête annuaire doit être liée aux personnes ou aux institutions. | Module **Annuaire** : ajoutez une colonne **Personne** ou **Société**. |
| **Requête incohérente** — On ne peut pas mélanger dossiers individuels et groupes dans la même requête. | Module **Facturation** : ne combinez pas les tables **Dossier** et **Groupe**. |
| **Requête incohérente** — On ne peut pas utiliser à la fois les dossiers et les groupes dans le même état (pour l'instant). | Module **Production** : ne combinez pas les tables **Dossier** et **Groupe**. |
| **Requête incohérente** — Aucun champ affichable : les colonnes configurées ne correspondent pas à des colonnes de la base. Veuillez les reconfigurer dans le requêteur. | Dans le requêteur, retirez les colonnes concernées puis rajoutez-les depuis la liste des champs. |
| **Requête invalide** — La requête n'a pas pu être exécutée. Vérifiez les champs configurés dans le requêteur. Le bandeau peut préciser *La colonne « … » est introuvable.* | Si une colonne est citée, retirez ou recréez ce champ. Sinon, vérifiez les colonnes et les filtres : retirez ceux qui ne correspondent plus, puis rajoutez-les depuis la liste des champs. |
| **Limite atteinte** — Résultat tronqué : seuls les 2000 premiers enregistrements ont été affichés. Vous pouvez utiliser les critères pour afficher les résultats par paquets. | Resserrez les filtres (dates, état…) pour afficher les résultats par paquets. |

---

## Options avancées

### Dépendances entre tables

Certaines tables nécessitent d'autres tables :

| Table | Nécessite |
|-------|-----------|
| Prestation, Tarification, Centre, Lieu, Conseiller | Dossier ou Groupe |
| Bénéficiaire, Bénéficiaire (autres données), France Travail | Dossier |
| Lignes de facture, Client | Facture |
| Compte | Encaissement |

### Requêtes sur les groupes

1. Cochez **Groupes** sur la fiche
2. La table **Groupe** remplace **Dossier** — voir [Module Production — groupes](#module-production-groupes)
3. On ne peut pas combiner **Dossier** et **Groupe** dans la même requête (bandeau **Requête incohérente**)

### Factures groupées

1. Cochez **Factures groupées** sur la fiche
2. Permet d'accéder aux infos de chaque dossier d'une facture multi-dossiers

---

## Cas pratiques

### Liste des dossiers créés ce mois

- Module : **Production**
- Filtre : Date de création (intervalle)
- Colonnes : Dossier > numéro, Bénéficiaire > nom/prénom, Prestation > Prestation, Dossier > état

### Liste des dossiers avec e-mail des bénéficiaires

- Module : **Production**
- Filtres : selon le besoin (état, période, conseiller…)
- Colonnes : Dossier > numéro, Bénéficiaire > nom / prénom / **email**, Prestation > Prestation, Dossier > état

Le bouton **Tableur** de la recherche de dossiers n'inclut pas l'e-mail, car cette colonne n'est pas affichée dans la liste. Une requête dédiée permet d'obtenir exactement ces colonnes.

### Identifier les dossiers créés par une API ou un connecteur \{#auteur-dossier-requeteur}

Le champ **Auteur** (libellé parfois **Créé par**) de la fiche dossier n'est pas exposé dans le Requêteur. Pour un dossier précis, ouvrez la fiche : c'est le seul endroit où le créateur est visible. Un besoin récurrent d'extraction par créateur (compte technique, téo rdv, connecteur) demande une évolution produit.

→ [Durée de production : trois indicateurs](/docs/reference/calculs#duree-production-trois-indicateurs)

### Extraire la modalité des dossiers \{#modalite-dossier-requeteur}

Ajoutez le champ **Dossier** > **Modalité** en filtre ou en colonne. Le résultat affiche le libellé de la liste (**Présentiel**, **Distanciel**, **Mixte**…), comme les autres champs issus d'une liste.

L'option **Groupes** ne propose pas ce champ : la modalité n'existe que sur le dossier.

Pour renseigner la modalité sur la fiche : [Créer un dossier](/docs/dossiers/creation) · [Dossiers groupes](/docs/dossiers/groupes)

### CA mensuel par tarification

- Module : **Facturation**
- Filtre : Date de facture (intervalle)
- Colonnes : Facture > numéro/date, Tarification du dossier > tarification, Facture > total HT

### Répartition dossiers par conseiller et état (tableau croisé)

- Module : **Production**
- Mode : Tableau croisé
- **Abscisse (horizontal)** : Conseiller > nom
- **Ordonnée (vertical)** : Dossier > état

### Export contacts d'une catégorie

- Module : **Annuaire**
- Filtre : Profil de personnes > code (valeur fixe)
- Colonnes : Personne > nom/prénom/email/téléphone, Société > raison sociale

---

## Pourquoi certaines lignes manquent dans mon résultat ? \{#lignes-manquantes}

Quand vous ajoutez des colonnes provenant de plusieurs blocs (Dossier, Bénéficiaire, Société, Conseiller…), téo ne remonte que les pièces qui sont **rattachées à toutes ces tables** simultanément. Une facture qui n'est liée à **aucun dossier** (cas typique : facture de société sans bénéficiaire derrière) est **exclue** dès qu'une colonne du bloc « Dossier » ou « Bénéficiaire » est présente, même si vous ne filtrez pas dessus.

C'est le comportement qui explique le « j'ai 174 factures dans Facturation > Factures mais seulement 123 dans ma requête ».

Si plusieurs lignes affichent les **mêmes** valeurs et que toutes les pièces sont bien rattachées, ce n'est plus ce cas : voir [Une ligne par dossier, facture ou personne](/docs/pilotage/requetes#une-ligne-par-entite).

### Comment voir l'ensemble des factures, qu'elles soient rattachées à un dossier ou non

Deux stratégies, à choisir selon votre besoin :

**Option 1 — Une seule requête « universelle » sans colonne dossier**

1. Supprimez de votre requête toutes les colonnes provenant de **Dossier** et **Bénéficiaire**.
2. Ajoutez à la place : **Facture > Numéro**, **Facture > Date**, **Facture > Total HT**, **Facture > Société > Raison sociale**, **Facture > Compte produit**.
3. Vous obtenez **toutes les factures**, qu'elles soient adressées à un bénéficiaire ou à une société.

**Option 2 — Deux requêtes séparées**

| Requête | Cible | Colonnes spécifiques à conserver |
|---|---|---|
| « Factures bénéficiaires » | Factures liées à un dossier | Bénéficiaire, Dossier, Prestation |
| « Factures sociétés » | Factures adressées à une société | Société (raison sociale, SIRET, contact facturation) |

L'option 2 est plus lisible quand vous voulez **filtrer différemment** les deux populations (par exemple : groupe de droits différent côté société, prestation côté bénéficiaire).

:::tip[Vérifier rapidement ce qu'une requête « rate »]
Comparez le **nombre de lignes** affiché en bas de votre requête au compteur de **Facturation > Factures** (avec les mêmes filtres date / centre). Une différence importante est le signe qu'une jointure est trop restrictive — typiquement une colonne dossier alors que vous voulez voir aussi les factures société.
:::

## Bonnes pratiques

:::tip[Nommage cohérent]
Préfixez vos requêtes : "PROD - Dossiers...", "FACTU - Factures...", "ANNUAIRE - Contacts..."
:::

:::tip[Commencez par les filtres]
Ajoutez toujours un filtre date dès le départ pour limiter le volume.
:::

:::tip[Testez régulièrement]
Testez après chaque modification pour détecter les erreurs rapidement.
:::

:::caution[Performance]
Limitez les colonnes et utilisez des filtres sur les dates pour éviter les requêtes lentes.
:::

---

## Modifier ou supprimer

### Modifier une requête

1. Cliquez sur la requête dans la liste
2. Modifiez les informations, filtres, colonnes
3. Testez et enregistrez

### Supprimer

1. Ouvrez la requête
2. Cliquez sur **Supprimer** (icône poubelle)
3. Confirmez **Supprimer la requête** (*Confirmez-vous la suppression de la requête ?* — **Oui, supprimer** / **Non, annuler**)

:::warning[Suppression définitive]
Vérifiez que la requête n'est plus utilisée avant de la supprimer.
:::
