Contenu
Index 🔎︎

# Définition de conditions

Les conditions sont des expressions logiques vous permettant de contrôler l'affichage des champs et sections dans le document. Bien que les exemples suivants concernent les champs, vous pouvez également les appliquer aux sections.

Vous pouvez définir des conditions pour les types de champ suivants :

1. Texte conditionnel : affiche le texte A si la condition est vérifiée (Vrai) et le texte B dans le cas contraire (Faux).

2. Texte masqué : masque le contenu du champ si la condition est vérifiée (Vrai).

3. Paragraphe masqué : masque le paragraphe si la condition est vérifiée (Vrai).

4. Enregistrement par numéro et Enregistrement suivant : contrôle l'accès aux enregistrements de base de données.

La méthode la plus simple pour définir une condition consiste à saisir l'expression logique directement dans une zone Condition à l'aide des valeurs suivantes :

VRAI | La condition est toujours remplie. Il est également possible d'entrer une valeur quelconque différente de zéro comme texte conditionnel.
FAUX | La condition n'est pas remplie. À la place, vous pouvez aussi spécifier la valeur 0.

Si vous laissez la zone Condition vide, la condition est considérée comme n'ayant pas été remplie.

Lorsque vous définissez une condition, utilisez les mêmes éléments que pour la définition d'une formule, c'est-à-dire des opérateurs de comparaison, des fonctions mathématiques et statistiques, des formats numériques, des variables et des constantes.

Pour définir une condition, vous pouvez utiliser les types de variables suivants :

1. Variables LibreOfficeDev prédéfinies utilisant des statistiques dans les propriétés du document

2. variables définies par l'utilisateur (champ "Définir une variable") ;

3. variables basées sur les données d'utilisateur ;

4. Variables basées sur le contenu des champs de base de données

Vous ne pouvez pas utiliser de variables internes, telles que des numéros de chapitre ou de page, dans les expressions conditionnelles.

## Conditions et variables

Les exemples suivants utilisent une variable appelée "x" :

x == 1 ou x EQ 1 | La condition est vérifiée (Vrai) si la variable "x" est égale à 1.
x != 1 ou x NEQ 1 | La condition est vérifiée (Vrai) si la variable "x" est différente de 1.
sinx == 0 | La condition est vérifiée (Vrai) si la variable "x" est un multiple du nombre pi.

Si vous utilisez des opérateurs de comparaison sur des chaînes, les opérandes doivent être entourés par des guillemets :

x == "ABC" ou x EQ "ABC" | Vérifiez si la variable "x" contient (vrai) ou non (faux) la chaîne "ABC".
x == "" ou x EQ "" ou !x ou NOT x | Détermine si la variable "x" contient une chaîne vide.

L'opérateur de comparaison "Égal" doit être représenté par deux signes égal (==) dans une condition. Par exemple, si vous définissez une variable "x" avec une valeur de 1, vous pouvez saisir la condition suivante : x==1.

## Données d'identité

Vous pouvez inclure des données d'identité lorsque vous définissez des conditions. Pour modifier ces données d'identité, choisissez LibreOfficeDev - PréférencesOutils - Options - LibreOfficeDev - Données d'identité. Les données d'identité doivent être saisies sous forme de chaînes. Vous pouvez faire une requête sur les données d'identité avec "==" (EQ), "!=" (NEQ), or "!"(NOT).

Le tableau suivant contient la liste des variables de données d'utilisateur avec leur signification :

Variable | Signification
--- | ---
user_firstname | Prénom
user_lastname | Nom
user_initials | Initiales
user_company | Société
user_street | Rue
user_country | Pays
user_zipcode | C.P.
user_city | Ville
user_title | Titre
user_position | Position
user_tel_work | Numéro de téléphone professionnel
user_tel_home | Numéro de téléphone personnel
user_fax | Numéro de fax
user_email | Adresse courriel
user_state | État (uniquement dans certaines versions de LibreOfficeDev)

Par exemple, si vous voulez cacher un paragraphe, un texte ou une section à un utilisateur possédant les initiales "LM", saisissez la condition suivante : user_initials=="LM".

## Conditions et champs de base de données

Vous pouvez définir des conditions qui déterminent l'accès aux bases de données ou aux champs de base de données. Par exemple, vous avez la possibilité de vérifier le contenu d'un champ de base de données à l'aide d'une condition, ou d'utiliser des champs de base de données dans des expressions logiques. Le tableau suivant répertorie d'autres exemples d'utilisation de conditions faisant référence à des bases de données :

Exemple | Signification
--- | ---
Basededonnées.Table.Société Basededonnees.Table.Societe NEQ "" Basededonnees.Table.Societe != "" | La condition est vérifiée (Vrai) si le champ SOCIETE n'est pas vide. (Dans le premier exemple, aucun opérateur n'est nécessaire.)
!Basededonnees.Table.Societe NOT Basededonnées.Table.Société Basededonnees.Table.Societe EQ "" Basededonnees.Table.Societe =="" | Renvoie VRAI si le champ Société est vide.
Basededonnees.Table.Societe !="Sun" Basededonnees.Table.Societe NEQ "Sun" | Renvoie VRAI si l'entrée active dans le champ SOCIÉTÉ n'est pas "Sun" (le point d'exclamation représente un NON logique).
Basededonnées.Table.Prénom AND Basededonnées.Table.Nom | Renvoie VRAI si l'enregistrement contient le prénom et le nom.

Notez la différence entre le non logique "!" (NOT) et l'opérateur d'inégalité "!=" (NEQ).

Lorsque vous faites référence à un champ de base de données dans une condition, employez la forme Nomdebasededonnées.Nomdetable.Nomdechamp. Si l'un des noms contient un caractère qui est un opérateur, comme le signe moins (-), insérez-le entre crochets : par exemple, Nomdebasededonnées.[nom de la table].Nomdechamp. N'utilisez jamais d'espaces dans un nom de champ.

### Exemple : masquage d'un champ de base de données vide

Vous pouvez créer une condition qui masque un champ vide, par exemple, quand le champ SOCIETE n'est pas renseigné dans certains enregistrements de données.

Cochez la case Paragraphe masqué et saisissez la condition suivante : Carnetdadresses.Adresses.Societe EQ ""

ou saisissez le texte suivant

NOT Carnetdadresses.Adresses.Societe

Si le champ SOCIETE de la base de données est vide, la condition est vérifiée et le paragraphe est masqué.

Pour afficher les paragraphes masqués à l'écran, choisissez LibreOfficeDev - PréférencesOutils - Options - LibreOfficeDev Writer - Affichage, et décochez la case Paragraphes masqués.

## Exemples de conditions dans les champs

Les exemples suivants utilisent le champ Texte conditionnel, même s'ils peuvent s'appliquer à tous les champs liés à une condition. La syntaxe utilisée pour les conditions est également utilisée pour les champs Texte masqué, Paragraphe masqué, Enregistrement par numéro et Enregistrement suivant.

## Pour afficher un texte conditionnel basé sur le nombre de pages :

1. Choisissez Insertion - Champ - Autres champs et cliquez sur l'onglet Fonctions.

2. Cliquez sur "Texte conditionnel" dans la liste Type de champ.

3. Dans la zone Condition, saisissez "page == 1".

4. Dans la zone Alors, saisissez "Il n'y a qu'une page".

5. Dans la zone Sinon, saisissez "Il y a plusieurs pages".

6. Cliquez sur Insérer, puis sur Fermer.

## Affichage d'un texte conditionnel basé sur une variable définie par l'utilisateur

1. Choisissez Insertion - Champ - Autres champs et cliquez sur l'onglet Variables.

2. Cliquez sur "Définir une variable" dans la liste Type de champ.

3. Dans la zone Nom, saisissez "Profit".

4. Dans la zone Valeur, saisissez "5000".

5. Cliquez sur Insérer.

6. Cliquez sur l'onglet Fonctions, puis sur "Texte conditionnel" dans la liste Type de champ.

7. Dans la zone Condition, saisissez "Profit < 5000".

8. Dans la zone Alors, saisissez "L'objectif n'est pas atteint".

9. Dans la zone Sinon, saisissez "L'objectif est atteint".

10. Cliquez sur Insérer.

Pour éditer le contenu de la variable "Profit", double-cliquez sur le champ de la variable.

## Pour afficher un texte conditionnel basé sur le contenu d'un champ de base de données :

Dans cet exemple, la première partie insère un espace entre le champ "Prénom" et le champ "Nom" dans un document, et la deuxième partie insère du texte basé sur le contenu d'un champ. Cet exemple requiert l'enregistrement d'une source de données des adresses dans LibreOfficeDev.

1. Choisissez Insertion - Champs - Autres champs et cliquez sur l'onglet Base de données.

2. Cliquez sur "Champs de mailing" dans la liste Type de champ.

3. Dans la zone Sélection d'une base de données, double-cliquez sur un carnet d'adresses, cliquez ensuite sur "Prénom", puis sur Insérer. Répétez la procédure pour "Nom".

4. Dans le document, placez le curseur entre les deux champs, appuyez sur Espace, puis revenez à la boîte de dialogue Champs :

5. Cliquez sur l'onglet Fonctions, puis sur "Texte conditionnel" dans la liste Type de champ.

6. Dans la zone Condition, saisissez : "CarnetAdresses.Adresses.Prénom".

7. Dans la zone Alors, saisissez un espace et laissez la zone Sinon vide.

Vous pouvez maintenant utiliser une condition qui insère du texte basé sur le contenu du champ "Prénom".

1. Dans la boîte de dialogue Champs, cliquez sur l'onglet Fonctions.

2. Cliquez sur "Texte conditionnel" dans la liste Type de champ.

3. Dans la zone Condition, saisissez : Addressbook.addresses.firstname == "Michael"

4. Dans la zone Alors, saisissez "Cher".

5. Dans la zone Sinon, saisissez "Bonjour".

6. Cliquez sur Insérer.