Remplacer un valeur par un autre valeur - publipostage

Résolu/Fermé
Rodrigo - 7 nov. 2017 à 23:38
 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

A voir également:

6 réponses

m@rina Messages postés 21089 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 20 novembre 2024 11 358
8 nov. 2017 à 00:58
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

0
Argitxu Messages postés 4831 Date d'inscription dimanche 22 juillet 2007 Statut Contributeur Dernière intervention 3 mars 2024 4 765
Modifié le 8 nov. 2017 à 01:01
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
0
m@rina Messages postés 21089 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 20 novembre 2024 11 358
9 nov. 2017 à 13:15
mdr !!! je vois que les grands esprits se rencontrent !! :)
0
Argitxu Messages postés 4831 Date d'inscription dimanche 22 juillet 2007 Statut Contributeur Dernière intervention 3 mars 2024 4 765 > m@rina Messages postés 21089 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 20 novembre 2024
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 ;-)
0
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
0
Argitxu Messages postés 4831 Date d'inscription dimanche 22 juillet 2007 Statut Contributeur Dernière intervention 3 mars 2024 4 765
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
0
Rodrigo > Argitxu Messages postés 4831 Date d'inscription dimanche 22 juillet 2007 Statut Contributeur Dernière intervention 3 mars 2024
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
0
m@rina Messages postés 21089 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 20 novembre 2024 11 358
22 nov. 2017 à 01:37
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 :
https://www.cjoint.com/
tu peux auparavant l'anonymiser.

m@rina
0
Bonjour M@rina

je vais mettre le 2 documents,le fichier Word et la base des données Excel
merci de ton aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
m@rina Messages postés 21089 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 20 novembre 2024 11 358
Modifié le 23 nov. 2017 à 01:57
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
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
0
m@rina Messages postés 21089 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 20 novembre 2024 11 358
23 nov. 2017 à 16:02
le 0 est donc inutile ! Entre guillemets c'est du texte, sans guillemets c'est numérique.
0
Rodrigo > m@rina Messages postés 21089 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 20 novembre 2024
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
0