Menu

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

Rodrigo - 7 nov. 2017 à 23:38 - 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 

Votre réponse

13 réponses

m@rina 14412 Messages postés mardi 12 juin 2007Date d'inscriptionContributeurStatut 17 juillet 2018 Dernière intervention - 8 nov. 2017 à 00:58
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

Commenter la réponse de m@rina
Argitxu 4767 Messages postés dimanche 22 juillet 2007Date d'inscriptionContributeurStatut 4 mars 2018 Dernière intervention - Modifié par Argitxu le 8/11/2017 à 01:01
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 14412 Messages postés mardi 12 juin 2007Date d'inscriptionContributeurStatut 17 juillet 2018 Dernière intervention - 9 nov. 2017 à 13:15
mdr !!! je vois que les grands esprits se rencontrent !! :)
Argitxu 4767 Messages postés dimanche 22 juillet 2007Date d'inscriptionContributeurStatut 4 mars 2018 Dernière intervention > m@rina 14412 Messages postés mardi 12 juin 2007Date d'inscriptionContributeurStatut 17 juillet 2018 Dernière intervention - 10 nov. 2017 à 02:53
Effectivement ! presque en chœur ou l'écho plutôt
Je regarde la télé en répondant et je rafraîchis pas toujours ;-)
Commenter la réponse de Argitxu
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 4767 Messages postés dimanche 22 juillet 2007Date d'inscriptionContributeurStatut 4 mars 2018 Dernière intervention - 10 nov. 2017 à 02:57
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
Rodrigo > Argitxu 4767 Messages postés dimanche 22 juillet 2007Date d'inscriptionContributeurStatut 4 mars 2018 Dernière intervention - 21 nov. 2017 à 20:34
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
Commenter la réponse de Rodrigo
m@rina 14412 Messages postés mardi 12 juin 2007Date d'inscriptionContributeurStatut 17 juillet 2018 Dernière intervention - 22 nov. 2017 à 01:37
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
Commenter la réponse de m@rina
m@rina 14412 Messages postés mardi 12 juin 2007Date d'inscriptionContributeurStatut 17 juillet 2018 Dernière intervention - Modifié par m@rina le 23/11/2017 à 01:57
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.
Commenter la réponse de m@rina
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 14412 Messages postés mardi 12 juin 2007Date d'inscriptionContributeurStatut 17 juillet 2018 Dernière intervention - 23 nov. 2017 à 16:02
le 0 est donc inutile ! Entre guillemets c'est du texte, sans guillemets c'est numérique.
Rodrigo > m@rina 14412 Messages postés mardi 12 juin 2007Date d'inscriptionContributeurStatut 17 juillet 2018 Dernière intervention - 23 nov. 2017 à 17:25
Salut M@rina

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

Problème résolu à mon avis

merci encore une fois
Commenter la réponse de Rodrigo