Le texte conditionnel en publipostage

Bonjour,

Étant en train d’établir un document en publipostage, je me pose plusieurs questions concernant la fonction “texte conditionnel” du menu “champs”. Précisons que c’est bien du publipostage et que c’est donc lié à un document Calc avec un tableau (cellules).

Premièrement, comment mettre en condition qu’une de mes cellules est vide ? J’ai mis nom de la rubrique==""* mais je suis loin d’être sûr que cela soit la meilleure des solutions.

Deuxièmement, comment faire en sorte que la solution de sortie (dans “alors” ou dans “sinon”) ne soit pas du texte mais soit une donnée de cellule ? J’ai en effet la cellule “nom2” que je voudrais mettre lorsqu’il n’y a pas de “nom1”, j’ai donc fait :
· pour Condition : nom1==""
· pour Alors :
· pour Sinon : nom2
Toutefois, ça m’affiche littéralement “nom2” alors que j’aimerais que cela m’affiche la donnée présente en nom2.

Ensuite, est-il possible de créer dans le champ “condition” une double condition ? Par exemple, donner comme condition : si sexe=="homme" ET nom=="Dupont" alors X sinon Y ? Ne fonctionne notamment pas la condition suivante : sexe==“homme” AND nom=="Dupont".

Enfin, serait-il possible d’obtenir une liste exhaustive de toutes les fonctions pouvant être mises dans “condition”, “alors” et “sinon” ? Je ne connais que == et "", mais aucune autre. En existe-t-il d’autres ?

Bonsoir,

Les fonctions retrouvées dans l’aide de Writer, recherche: “Formule Opérateur”

Nom Opérateur Signification Exemple
Différent != Teste l’inégalité des valeurs sélectionnées. Exemple : NEQ 2 est faux (0) si le contenu de A1 est égal à 2.
Différent NEQ Teste l’inégalité des valeurs sélectionnées. Exemple : NEQ 2 est faux (0) si le contenu de A1 est égal à 2.
Égal == Vérifie si les valeurs sélectionnées sont égales. Si elles sont différentes le résultat est zéro sinon il vaut 1 (vrai). Exemple : EQ 2 est vrai (1) si le contenu de A1 est égal à 2.
Égal EQ Vérifie si les valeurs sélectionnées sont égales. Si elles sont différentes le résultat est zéro sinon il vaut 1 (vrai). Exemple : EQ 2 est vrai (1) si le contenu de A1 est égal à 2.
ET logique AND Permet de tester si des valeurs correspondent par l’opérateur logique ET Exemple : 1 AND 2 affiche 1 (vrai)
Inférieur L Permet de tester si des valeurs sont plus petites qu’une valeur spécifiée. Exemple : L 2 est vrai (1) si le contenu de A1 est inférieur à 2.
Inférieur ou égal LEQ Permet de tester si des valeurs sont plus petites ou égales à une valeur spécifiée. Exemple : LEQ 2 est vrai (1) si le contenu de A1 est inférieur ou égal à 2.
NON logique NOT Permet de tester si des valeurs correspondent par l’opérateur logique NON Exemple : NOT 1 (vrai) affiche 0 (faux)
OU logique OR Permet de tester si des valeurs correspondent par l’opérateur logique OU Exemple : 0 OU 0 est faux (0) sinon vrai (1)
OU logique exclusif XOR Permet de tester si des valeurs correspondent par l’opérateur logique OU exclusif Exemple : 1 XOR 0 affiche 1 (vrai)
Séparateur de liste Sépare les éléments d’une liste.
Supérieur G Permet de tester si des valeurs sont plus grandes qu’une valeur spécifiée. Exemple : G 2 est vrai (1) si le contenu de A1 est supérieur à 2.
Supérieur ou égal GEQ Permet de tester si des valeurs sont plus grandes ou égales à une valeur spécifiée. Exemple : GEQ 2 est vrai (1) si le contenu de A1 est supérieur ou égal à 2.

:wink:

Merci beaucoup pour ta réponse à l’une de mes question. Cela me sera très utile !
N’hésite pas à m’avancer sur mes autres questions, si tu as quelques réponses ou idées de solution :wink:

Bonjour
Je viens de faire une découverte concernant la fonction “Texte conditionnel” en publipostage.
le manuel Publipostage montre (discrètement) qu’une condition doit être écrite entre crochets.
Exemple : [Creation.R_Lot-2023.Email] vaut VRAI si le champ Email est rempli.
De plus, le nom de la base ne doit pas comporter de caractères accentués ni d’espaces (Creation au lieu de Création).
De même, le nom de la table/requête ne doit pas comporter de caractères accentués ni d’espaces (R_Lot-2023 au lieu de R_Lot 2023).
Et encore, pareil pour le nom du champ.
Mais hors texte conditionnel, un champ nommé “Complément d’adresse” fonctionne très bien.
Enfin, mon expérience personnelle me dit qu’il ne faut PAS ÉDITER un texte conditionnel non satisfaisant. Il faut le supprimer et le recréer.
Bon courage

2 Likes

Bonjour et merci beaucoup pour ces quelques précisions,

J’ai effectivement déjà pu remarquer cela par ma brève expérience du texte conditionnel. Pour pallier cela, toutes mes bases et mes tables/requêtes sont sans espace ni accent, au grand dam de notre belle typographie. Mais bon, cela ne se voit pas sur le document publisposté, seulement sur le Calc lié.

Si quelqu’un a de quoi me faire avance sur mes quelques questions restées sans réponse, qu’il n’hésite pas ; mes recherches sont toujours en cours et je stagne sur ces points.