Champs conditionnels
dans les mailings

Distribué par le projet Fr.OpenOffice.org

Révision [n°1] – 20/05/04

Réalisé avec : OOo 1.1.1	Plate-forme / Os : Toutes

Table des Matières

1 Le champ paragraphes masqués	3

1.1 Pourquoi l'utiliser	3

1.2 Les lignes vides qui ne doivent pas apparaître dans l'adresse	3

1.3 A quoi correspondent ces codes de paragraphe ?	5

1.3.1 Dans le paragraphe masqué ci-dessus	5

1.3.2 Les autres codes (des exemples d'application sont exposés ensuite)	5

1.4 Des exemples de corps de texte avec ces codes	6

1.4.1 Un corps pour chaque champ Civilité :	6

1.4.2 Quelques codes avec des chiffres :	8

2 Le champ texte masqué	9

3 Le champ texte conditionnel	11

3.1 Avec un champ de base de données comme condition	11

3.2 Avec une variable comme condition	12

4 Crédits	17

5 Licence	17

Le champ paragraphes masqués

Pourquoi l'utiliser

Nous allons examiner les types d'information pour lesquels ils sont utiles en partant d'exemples concrets :

Vous avez une base de données contenant des adresses dont tous les champs ne sont pas remplis (il y a par exemple deux champs pour la rue alors que bien souvent un seul est rempli) vous souhaitez cependant ne pas laisser de lignes vides dans l'adresse du destinataire lors du mailing.

Vous souhaitez afficher un paragraphe plutôt qu'un autre en fonction du contenu d'un champ de la base de données (par exemple un paragraphe concernera la civilité Madame et Mademoiselle, un autre concernera la civilité Monsieur)

Vous souhaitez qu'un texte apparaisse plutôt qu'un autre suivant qu'une condition est remplie (imaginons que vous souhaitiez adresser une lettre avec un texte différent suivant que la personne habite à Marseille ou à Paris)

Nous ne traiterons pas ici des autres champs, si vous souhaitez en savoir plus sur le traitement et la récupération de données dans un document, nous vous encourageons vivement à lire le how-to Réutiliser les informations à travers sections, champs et auto-textes ici :

http://fr.openoffice.org/Documentation/How-to/writer/Champs_et_donnees22fr.sxw

De même, il est présupposé que vous savez vous connecter à la base de données et placer les champs dans le document. Divers how-to concernant ces apprentissages sont disponibles ici :

http://fr.openoffice.org/Documentation/How-to/writer/mailing09fr.sxw (un peu obsolète)

http://fr.openoffice.org/Documentation/How-to/writer/mailing_dbase17fr.sxw

http://fr.openoffice.org/Documentation/How-to/writer/mailing18fr.sxw

http://fr.openoffice.org/Documentation/How-to/writer/mailing_creation_auto_sdd19fr.sxw

Les lignes vides qui ne doivent pas apparaître dans l'adresse

Lorsque vous allez placer l'adresse du destinataire, vous allez glisser tous les noms de champs nécessaires positionnés là où vous le souhaitez. Faites attention à bien mettre une marque de paragraphe à la fin de chaque ligne et non un retour à la ligne forcé

Voici ci-dessus ce à quoi nous souhaitons arriver :

placez votre curseur devant le champ qui doit être masqué (dans la copie d'écran ci-dessus, c'est devant la seconde ligne d'adresse)

appuyez sur ctrl+F2 pour ouvrir la boite de dialogue de champs,

sous l'onglet Fonction, sélectionnez le Type de champ : Paragraphe masqué

dans le cadre condition vous allez entrer le nom du champ qui ne doit pas apparaître puis un code correspondant à la condition (ne pas afficher si vide).

Dans notre base de données, ce champ s'appelle RUE_

Le champ que nous allons indiquer sera donc celui-ci

La condition est qu'il soit égal à vide, ce que nous indiquerons avec le code suivant : ==""

Voici ce que donne la copie d'écran de la boite de dialogue de champs

Appuyez sur Insérer et votre champ est maintenant dans votre texte.

Vous souhaitez vérifier que vos champs sont bien corrects :

sous Affichage cochez Champs ou appuyez sur la combinaison ctrl+F9
voici ce que vous voyez maintenant à l'écran et vous permet de vérifier le bon positionnement des champs. Le premier terme Ex1 correspond au nom de votre base de données, le second terme après le point correspond au nom de la table, le troisième terme après le point correspond au nom du champ dans la table. Ci dessous, nous voyons que le champ paragraphe masqué est bien placé avant le nom de champ que nous souhaitons masquer.

pour vérifier que votre condition de paragraphe masqué fonctionne correctement, sélectionnez un enregistrement et cliquez sur l'icône Données dans les Champs dans la barre d'outils de la fenêtre de vue de base de données.

Vous pouvez recommencer cette opération avec autant de champs que vous le désirez, cela vous permet de vérifier également que la mise en page de l'adresse est correcte.

A quoi correspondent ces codes de paragraphe ?

Dans le paragraphe masqué ci-dessus

Avant de poursuivre, nous allons détailler un peu les différents codes à utiliser dans le champ Condition d'un paragraphe masqué.

La condition pour masquer le paragraphe est soit vraie soit fausse (soit le champ RUE_ est vide condition vraie, soit le champ RUE_ est rempli condition fausse)

Nous indiquons donc une égalité pour la condition. Cette égalité est représentée par 2 signes = qui se suivent sans espace : ==

Nous indiquons ensuite que la chaîne de caractère a rechercher est vide, signalée par deux paires de guillemets ""

Les autres codes (des exemples d'application sont exposés ensuite)

Une variante de l'égalité ci-dessus, vous pouvez écrire EQ à la place de == .Si le champ est x, on écrira x =="" ou x EQ "", c'est exactement la même chose.

Ces codes s'appellent des opérateurs.

Nous avons vu que "" indiquait une recherche sur une chaîne de caractère vide. Vous auriez pu déterminer qu'elle correspondait à des caractères en plaçant ces caractères entre les guillemets ex : x =="Paris"

Si vous appliquez une condition à des chiffres alors les guillemets ne doivent pas être ajoutés, c'est ce qui indiquera que l'on ne recherche pas un chaîne de caractères mais des nombres. Ex : x ==1

Si vous souhaitez que la condition soit vérifiée lorsque la condition est différente du champ pris en référence, vous noterez alors x !="" ou encore x NEQ ""

Si la condition pour qu'elle soit vraie ne doit pas être x alors vous noterez !x ou NOT x

Si la condition doit être supérieure ou égale à une valeur indiquée alors vous utiliserez GEQ

Si la condition doit être inférieure ou égale à une valeur indiquée alors ce sera LEQ

Si la condition est supérieure c'est juste G ou > et si elle est inférieure c'est juste L ou >

Des exemples de corps de texte avec ces codes

Un corps pour chaque champ Civilité :

Partons d'un exemple concret, vous êtes une société qui envoie des catalogues de vente par correspondance. Le catalogue ne sera pas le même suivant que vous êtes un homme ou une femme.

Voici la base données au format .dbf (Dbase) de laquelle nous partons :

Sur notre lettre, nous avons préparé les différents corps de texte dont nous allons avoir besoin et qui seront masqués suivant que nous nous adressons à Monsieur, Madame ou Mademoiselle.

Voici ce que cela donne en affichant le résultat :

Positionnez votre curseur devant le premier paragraphe (Nous vous prions...) qui devra être masqué quand la civilité sera Monsieur (donc la lingerie :-),

Appuyez sur ctrl+F2 pour ouvrir la boite de dialogue de champ,

A nouveau choisissez paragraphe masqué sous l'onglet Fonction et remplissez le champ condition : CIVILIT_ =="Monsieur". On écrit bien le nom du champ tel qu'il apparaît dans la base de données et le guillemets double puisqu'il s'agit d'une chaîne de caractères qui est recherchée.

Enfin on appuie sur Insérer pour entrer le champ dans le document

Nous pouvons vérifier en cliquant sur un enregistrement contenant Madame que c'est bien le bon catalogue qui lui sera adressé :

Continuons pour Madame et Mademoiselle. Oups, comment fait-on pour indiquer qu'il doit correspondre à Madame ou Mademoiselle. Oui, bien sûr ! la condition ne sera pas = à Monsieur, donc nous choisirons le code != "Monsieur" ou encore "NEQ Monsieur".
Cette fois-ci lorsque vous affichez un enregistrement contenant Monsieur vous obtenez :

Quelques codes avec des chiffres :

Voyons, notre entreprise couvre principalement Paris, Marseille et quelques autres villes de province. Suivant ces critères, les personnes recevront le catalogue ou devront aller le chercher dans un magasin.

A nouveau, nous préparons d'abord les différents paragraphes qui doivent ou non apparaître.

Puis nous nous plaçons devant le premier paragraphe qui ne doit pas être affiché lorsque la personne habite Paris ou la province.

Ce critère correspond au champ numérique CODE dans notre base de données. 1 pour Paris, 2 pour Marseille, 3 pour la province.

Pour ce premier paragraphe, il doit donc être masqué à chaque fois que le code est différent de 2, nous écrirons donc CODE !=2 dans le champ condition.

Le code de Paris est 1, le paragraphe devra donc être masqué à chaque fois que le code est supérieur ou égal à 2. Nous écrirons donc CODE GEQ 2

Enfin, le troisième paragraphe correspond au code 3, nous indiquerons qu'il doit être masqué à chaque fois que le code est inférieur ou égal à 2. Nous écrirons donc CODE LEQ 2

Bien sûr, vous pouvez combiner les codes différemment à partir du moment où ils font partis de ces opérateurs.

Le champ texte masqué

Quelle différence avec le paragraphe ? Et bien vous pouvez masquer seulement un partie de phrase contenue dans un paragraphe.

Reprenons l'exemple de notre société qui procède à ses envois de catalogues. Nous désirons que seuls les hommes résidant à Paris bénéficient d'une réduction de 10%.

Dans le paragraphe qui s'affiche uniquement si la condition Monsieur est rencontrée,

nous ajoutons la phrase : « Une remise de 10% vous sera proposée lors de votre premier achat ».

mettez cette phrase en surbrillance et appuyez sur ctrl+F2 pour ouvrir la fenêtre de dialogue des champs.

Sous l'onglet Fonction, choisissez texte masqué.

Dans la condition, notez VILLE =="Marseille"

Vous remarquez que dans le cadre Texte Masqué, la phrase apparaît

Appuyez sur Insérer, le champ s'insère dans le paragraphe.

Voilà, il ne vous reste plus qu'à sélectionner un enregistrement pour vérifier que le champ texte masqué fonctionne bien :

Les opérateurs sont les mêmes que ceux utilisés pour les champs masqués.

Note : si vos paragraphes masqués ou textes masqués apparaissent, bien que vous soyez sûr que vos conditions sont bonnes, alors c'est que l'option Affichage > Paragraphe masqué est cochée. Ou encore que sous Outils > Options > Texte > Affichage > la case à cocher Paragraphe masqué ou Texte masqué est cochée.

Le champ texte conditionnel

Avec un champ de base de données comme condition

D'un usage un peu différent le texte conditionnel va afficher du texte prédéfini en fonction de conditions et non pas cacher ce texte en fonction d'une condition

Les conditions seront toujours formulées suivant les mêmes opérateurs. Cependant vous pouvez maintenant afficher un choix si la condition est vraie et un autre sur la condition est fausse.

Ex : vous voulez réaliser un accord de genre suivant qu'il s'agit d'une femme ou d'un homme :

Pour arriver au résultat ci-dessus :

positionné le curseur là où le texte conditionnel doit apparaître dans la phrase,

faites ctrl+F2 pour ouvrir la fenêtre de dialogue de champs

sous l'onglet Fonctions, sélectionnez Texte conditionnel

comme nous l'avons vu dans les exemples précédents, entrez la condition qui doit correspondre au champ de la base de données,

dans le cadre Alors, entrez la phrase qui doit s'afficher lorsque la condition est vraie et dans la case Sinon entrez la phrase qui correspond à la condition fausse,

cliquez sur Insérer pour insérer le champ dans le document.

D'autres opérateurs sont applicables, un autre exemple : le prix du concours dépend de l'année de naissance, nous écrirons donc ANNEE G 1960 dans la condition.

Avec une variable comme condition

Admettons maintenant, que votre client ne gagnera un prix qu'en fonction du montant de commande qu'il a effectué tout au long de l'année.

La variable sera représentée par le montant déclenchant la condition vrai ou fausse et doit être placée avant la formule dans le document. Voici ci-dessous un aperçu de la définition de la variable.

Nous allons commencer par définir la variable :

ouvrez la fenêtre de dialogue de champs en faisant ctrl+F2 (sous Windows) ou Insertion > Champs > Autres (tous systèmes d'exploitation)

cliquez sur l'onglet Variables et sélectionnez Définir une variable

dans le cadre Nom, donnez lui un nom, nous l'avons nommée MCA

indiquez ensuite une valeur (pour notre exemple, elle correspond au montant des achats effectué par notre client).

Dans le cadre Format, choisissez le format sous lequel la variable va s'afficher dans le document,

En bas de ce cadre, une petite case à cocher vous permet de rendre invisible cette variable dans votre document, ce qui peut être intéressant si vous ne voulez pas que votre correspondant vois le critère de sélection !

La capture d'écran ci-dessous vous montre l'utilisation de la variable en mode invisible. Remarquez que si vous laissez votre curseur sur le cadre gris du champ la valeur de la variable s'affiche ainsi que son nom, sous forme d'infobulle. (Si l'infobulle n'apparaît pas, activez la à partir du menu Aide > Infobulle)

Bon, maintenant que nous avons défini la variable, nous allons définir la condition. Là, vous avez maintenant l'habitude :

onglet Fonction,

on sélectionne le type de champ Texte conditionnel

on rentre le nom de la variable dans la condition donc MCA et nous voulons qu'elle soit vérifiée pour un montant supérieur à 500 €, donc MCA > 500 Alors vous avez gagné un séjour de deux jours en Corse Sinon vous avez gagné un grille-pain.

Si vous devez modifier la variable, il suffit simplement de double cliquer sur le rectangle gris qui la matérialise dans le texte et de changer la valeur, cliquez sur Insérez, cela modifiera automatiquement le champ de texte conditionnel. Si le double clic ne vous paraît pas évident (le rectangle est parfois très fin), placez vous alors devant et sélectionnez le menu Edition > champs.

Autre exemple, toujours en fonction du montant de commande effectué par vos clients, à partir du champ de la base de données où ce montant est calculé :

Nous définissons donc la variable qui servira de référence pour déterminer le lot gagné, cette variable est invisible dans le corps de notre courrier :

Puis, nous définissons le texte conditionnel en fonction du champ représentant le montant de la commande et de la variable :

Et nous obtenons dans le corps de notre courrier :

Notez bien :

à partir du moment où vous traitez des nombres, ne mettez pas les guillemets.

de même si le nom de votre champ contient un tiret (ex : e-mail) vous devez alors le mettre entre guillemet, le tiret serait sinon interprété comme l'opérateur – (moins).

par contre si votre champ contient un souligné (ex : e_mail) là pas de problème.

enfin, vos champs ne doivent pas contenir d'espace, sinon les conditions retournées seront erronées.

Contrôlez vos champs en y insérant des données et en jouant avec l'affichage avec ctrl+F9

Crédits

Auteur : Sophie Gautier

Remerciements : A Luc Novalès, Tony Galmiche, Eric Loques, Rémy Petit et Didier Grosse pour leur relecture.

Intégré par : Sophie Gautier

Dernière modification : [date]

Contacts : Projet Documentation OpenOffice.org - Fr.OpenOffice.org

Traduction :

Licence

Appendix

Public Documentation License Notice

The contents of this Documentation are subject to the Public Documentation License Version 1.0 (the "License"); you may only use this Documentation if you comply with the terms of this License. A copy of the License is available at http://www.openoffice.org/licenses/PDL.html.

The Original Documentation is Champs conditionnels dans les mailings. The Initial Writer of the Original Documentation is Sophie Gautier Copyright (C) 2004. All Rights Reserved. (Initial Writer contact(s): sgauti@openoffice.org).

Contributor(s): ______________________________________.

Portions created by ______ are Copyright (C)_________[Insert year(s)]. All Rights Reserved. (Contributor contact(s):________________[Insert hyperlink/alias]).

NOTE: The text of this Appendix may differ slightly from the text of the notices in the files of the Original Documentation. You should use the text of this Appendix rather than the text found in the Original Documentation for Your Modifications.

OpenOffice.org Documentation Project How-To

Fr.OpenOffice.org	2 / 17

Sophie Gautier

2004-05-10T19:07:36