Remplacer un valeur par un autre valeur - publipostage [Résolu/Fermé]

- - Dernière réponse :  Rodrigo - 23 nov. 2017 à 17:25
Bonjour à tous,

j'ai un basse des données (BD) avec 90 lignes et un vingtaine des colonnes et j'ai besoin de afficher un prix "X" dans mon publipostage, mais si "X" = 0 je voudrais qui m'affiche prix "Y" qui est dans un autre colonne

j'ai essayé de faire ceci

{ IF{MERGEFIELD F10}= 0 {MERGEFIELD F12} }

mais il ne fonctionne pas

Afficher la suite 

6 réponses

Messages postés
15581
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
11 novembre 2019
8785
0
Merci
Bonjour,

C'est quoi F10 et F12 ? Il faut bien mettre les noms des champs, pas les références de cellule.

{ IF {MERGEFIELD ChampX} = 0 "{MERGEFIELD ChampY}" "{MERGEFIELD ChampX}" }

m@rina

Messages postés
4814
Date d'inscription
dimanche 22 juillet 2007
Statut
Contributeur
Dernière intervention
3 octobre 2018
3366
0
Merci
Bonjour

C'est quoi ce F10 et F12 dans ton exemple ? ça ressemble à des noms de champs mis automatiquement par excel sur des entêtes vides

{ IF{MERGEFIELD x} = 0 {MERGEFIELD y} {MERGEFIELD x}}
en remplaçant x et y par le nom des entêtes de colonnes de la base qui doivent être nommées


Argitxu
m@rina
Messages postés
15581
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
11 novembre 2019
8785 -
mdr !!! je vois que les grands esprits se rencontrent !! :)
Argitxu
Messages postés
4814
Date d'inscription
dimanche 22 juillet 2007
Statut
Contributeur
Dernière intervention
3 octobre 2018
3366 > m@rina
Messages postés
15581
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
11 novembre 2019
-
Effectivement ! presque en chœur ou l'écho plutôt
Je regarde la télé en répondant et je rafraîchis pas toujours ;-)
0
Merci
Je vais essayer la formule et je vais vous revenir demain

une question, il faut que mets les champs de publipostage via la fonction publipostage ou j'écrit le nom du champ à la main??

merci infiniment


Rodrigo
Argitxu
Messages postés
4814
Date d'inscription
dimanche 22 juillet 2007
Statut
Contributeur
Dernière intervention
3 octobre 2018
3366 -
Bonjour

A la main :
- Ctrl+F9 qui te donnera { }
- A l'intérieur des accolades, saisis IF, puis re ctrl F9 pour saisir MERGEFIELD champX, et tu suis...

Argitxu
> Argitxu
Messages postés
4814
Date d'inscription
dimanche 22 juillet 2007
Statut
Contributeur
Dernière intervention
3 octobre 2018
-
Bonjour Argitxu

Après plusieurs reprises la formule ne fonctionne pas, je ne sais pas si c'est moi qui tape mal les données ou c'est Word qui ne veux pas m'aider

Voici ce que je voudrais avoir :

{IF { MERGEFIELD FORFAIT_REPAS } = 0 "{ MERGEFIELD PENSION_REPAS_Studio }" "{ MERGEFIELD FORFAIT REPAS}" }

MAIS... après quand j’appuie "Aperçu des résultats" m'affiche en blanc (rien) et quand je j'appuie encore sur SHIFT + F9 m’apparaît ceci :

{IF = 0 "{ }" "{ MERGEFIELD PENSION_REPAS_Studio }" ""}



je commence à me décourager

merci de votre aide
Messages postés
15581
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
11 novembre 2019
8785
0
Merci
C'est difficile de te répondre sans voir le document. Est ce que les champs sont bien faits, est-ce que la syntaxe est correcte, etc.

Tu peux mettre le document ici :
http://cjoint.com
tu peux auparavant l'anonymiser.

m@rina
Bonjour M@rina

je vais mettre le 2 documents,le fichier Word et la base des données Excel
merci de ton aide
Messages postés
15581
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
11 novembre 2019
8785
0
Merci
Bonjour Rodrigo

Pour info, j'ai supprimé ton post avec les fichiers, pour cause de confidentialité. Lorsqu'on met un fichier ici, c'est comme si tu l'envoies à la terre entière.

Cela étant j'ai récupéré les fichiers et il y a beaucoup de choses qui ne vont pas, à commencer par la base de données.
Une base de données (faites avec Excel), c'est très simple : c'est un tableau qui commence à la première cellule (A1), qui a une ligne de titre bien définie, pas de lignes entièrement vides, pas de colonnes entièrement vides. La feuille Excel ne doit comporter que ce tableau, et rien d'autre.
Par ailleurs, pas de cellules fusionnées : le nom du champ, c'est le nom de la colonne, et chaque ligne est un enregistrement. Si tu mets un nom de champ à cheval sur deux cellules, comment veux-tu que Word s'y retrouve ?

Donc, commence par avoir une base de données propre. Le mieux, une fois la base refaite, tu donnes un nom à la plage de données et tu utilises ce nom dans Word.

Ensuite, le document Word : pour commencer, côté mise en forme, il faut que ce soit clean. Pour faire des alignements des taquets sur toutes les lignes où l'on doit avoir des alignements, ou même mieux on fait un tableau. Donc revois le fichier de ce côté-là, évite les espaces qui sont inutiles, etc.

Concernant les champs dans Word : on utilise les champs qui sont dans la liste "Insérer un champ de fusion" et on s'y tient.

Pour le champ avec le IF :
- tout d'abord tu confonds 0 et rien. Ce n'est pas la même chose. Si la cellule ne contient aucune information, ce n'est pas 0, c'est rien !
- ensuite ton champ n'est pas complet : il en manque la moitié.

Donc tu devrais avoir :
{IF { MERGEFIELD FORFAIT_REPAS } = "" { MERGEFIELD PENSION_REPAS_Studio } { MERGEFIELD FORFAIT_REPAS }}

Un truc pour bien le faire : tu cliques sur le bouton Règles, et tu choisis Si...Alors...Sinon
et tu remplis comme ceci :
Nom du champ : FORFAIT_REPAS
Comparer avec : tu ne mets rien
Insérer le texte suivant : toto
Sinon celui-ci : titi
et OK

Ton champ est fait. Il suffit maintenant de sélectionner "toto" et d'insérer le champ PENSION_REPAS_Studio à l'aide de la liste déroulante des champs, et idem pour titi que tu remplaces par le champ FORFAIT_REPAS.
Ainsi tu n'as pas à te battre avec les {} qui se sont faits tout seuls.

m@rina


Inutile de me poser vos questions en privé. Je n'y réponds pas.
0
Merci
Bonjour M@rina

Finalement j'ai réussi!... :D

Au début j'ai essayé la formule avec les guillemets, et rien s'est passé, mais j'ai mis le zéro entre les guillemets et ç'a marché...

Je l'ai testé et ça me donne comme ceci

{IF { MERGEFIELD NOMDUCHAMP A } = "0" { MERGEFIELD NOMDUCHAMP B } { NOMDUCHAMP A }}



un gros merci pour le temps et l'aide donné

Rodrigo
m@rina
Messages postés
15581
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
11 novembre 2019
8785 -
le 0 est donc inutile ! Entre guillemets c'est du texte, sans guillemets c'est numérique.
> m@rina
Messages postés
15581
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
11 novembre 2019
-
Salut M@rina

J'ai sais, mais pour un X raison, fonctionne...

Problème résolu à mon avis

merci encore une fois