Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Publipostage conditionnel et autre joie !

7 réponses
Avatar
Basque
Bonjour,
C'est la première fois que j'écris sur un newsgroup... d'avance merci de
ne pas me tenir rigueur de mon inexpérience...

Ma problématique est la suivante et je vais la décortiquer en 2 phases :
1/ Je possède une base de données (simplifiée) sous excel en csv : comme
ci-dessous :

Acheteur Numéro objet Titre de l'objet Quantité Prix de vente
Roro 5 Le chat botté 1 20 euros
Riri 10 La belle et la bête 1 2 euros
Riri 3 Les trois petits cochons 1 4 euros
Riri 12 Les aristochats 1 5 euros
Plouf 1 Pif 1 10 euros

A l'aide de ce newsgroup + site web http://faqword.free.fr/ & Microsoft
voir : http://support.microsoft.com/kb/294686/FR Voir ""Affichage de
chaque nouvelle catégorie sur une page différente"" , sur une page word
avec publipostage mode catalogue

{ IF{ MERGSEQ }="1" "[MERGEFIELD Acheteur }
" "" }{ SET Place1{ MERGEFIELD Acheteur }}{ IF{Place2}<>{Place1}"
-----saut de page-------
Qté N°objet Titre Prix de vente Sous-total
{MERGEFIELD Quantité} {MERGEFIELD Numéro objet} {MERGEFIELD Titre}
{MERGEFIELD Prix de vente}
{MERGEFIELD Quantité} {MERGEFIELD Numéro objet} {MERGEFIELD Titre}
{MERGEFIELD Prix de vente}
"}{SET Place2{MERGEFIELD Acheteur}}


------> je suis dans un premier parvenu a créer une fiche par Acheteur
avec l'ensemble des produits achetés sur 3 pages différentes (en vue de
la production d'une facture) avec Riri 3 objets différents... C'est
parfait...


2/ Cela se complique (et je suis perdu en fait) quand j'utilise la base
de données originale qui contient plus d'entrée comme l'adresse de
l'acheteur, la date de la facture...
Quand je rajoute ces informations, je n'ai plus le nom et les 3 produits
achetés... mais de nombreuses fiches différentes (en fait 1 par acheteur
sans parler des sauts de page, ici intempestifs).


EXPEDITEUR
Monsieur xxxx

Adresse de livraison/Destinataire
{MERGEFIELD Nom complet acheteur}
{MERGEFIELD adresse}
{MERGEFIELD code postal} {MERGEFIELD Ville}
{MERGEFIELD Pays}


Date de la vente : {MERGEFIELD Date de vente}
Date de la facture : {MERGEFIELD Date depaiement}
Date de livraison : MERGEFIELD {Date de livraison}
FACTURE N°2007/{N de facture}

{ IF{ MERGSEQ }="1" "[MERGEFIELD Acheteur }
" "" }{ SET Place1{ MERGEFIELD Acheteur }}{ IF{Place2}<>{Place1}"
-----saut de page-------
Qté N°objet Titre Prix de vente Sous-total
{MERGEFIELD Quantité} {MERGEFIELD Numéro objet} {MERGEFIELD Titre}
{MERGEFIELD Prix de vente}
{MERGEFIELD Quantité} {MERGEFIELD Numéro objet} {MERGEFIELD Titre}
{MERGEFIELD Prix de vente}
"}{SET Place2{MERGEFIELD Acheteur}}



Si quelqu'un a suivi ce que je souhaite et voit pourquoi cela plante,
j'en serai enchanté !!! Je tiens à votre disposition les fichiers
originaux si vous souhaitez "bidouiller" dessus !
Il est possible que je n'ai pas été assez clair, donc ne pas hésiter à
me poser des questions...
Cordialement,
Merci d'avance,

7 réponses

Avatar
Anacoluthe
Bonjour !

'Basque' nous a écrit ...
C'est la première fois que j'écris sur un newsgroup... d'avance merci de
ne pas me tenir rigueur de mon inexpérience...


Pour un 1er post c'est pas mal du tout :-) )) Combien d'utilisateurs Word
connaissent le publipostage ? Combien de publiposteurs s'en sortent
avec la fusion conditionnelle ? :-D )))

Quand je rajoute ces informations, je n'ai plus le nom et les 3 produits
achetés... mais de nombreuses fiches différentes (en fait 1 par acheteur
sans parler des sauts de page, ici intempestifs).


En fait toutes vos informations supplémentaires (nom, adresse etc)
devraient se trouver à l'intérieur du champ IF :
La source est triée selon un champ catégorie (pour vous: client)
Un champ conditionnel IF teste si on change de catégorie d'un
enregistrement à l'autre (notez que le plus simple est d'avoir
un champ marqueur de séparation dans la source elle-même, ce qui
évite de jongler avec des signets conservant l'ancienne valeur du
champ de catégorie) :
Si nouvelle catégorie : je saute une page, j'inscris toutes les
données d'en-tête (nom, adresse etc) puis la première ligne
de données répétitives (article, nombre, prix).
Si pas nouvelle catégorie : j'inscris seulement une ligne de facture.

Ne pas oublier le précepte : une seule source pour une seule fusion
ce qui veut dire que toutes les données nom, adresse livraison, article,
prix, sont présentes dans chaque enregistrement.

Lisez aussi dans l'inestimable FAQ
http://faqword.free.fr/articles.php?lng=fr&pg81

Ceci étant le publipostage Word même avec les meilleures fusions
conditionnelles n'est certainement pas l'outil idéal pour
produire des factures... Classique histoire de marteau que vous
retrouverez en fréquentant ce forum ... :-)

Anacoluthe
« Il vaut mieux avoir l'air conditionné que l'air bête. »
- Jacques LÉVEILLÉ

Avatar
Basque
Bonsoir,
Merci de votre réponse si rapide... c'est vraiment excellent aussi pour
cela le web !
Je vais y travailler sur vos indications... si je suis toujours perdu,
je reviens vers vous.
Merci encore !
Cdlt,



Bonjour !

'Basque' nous a écrit ...
C'est la première fois que j'écris sur un newsgroup... d'avance merci
de ne pas me tenir rigueur de mon inexpérience...


Pour un 1er post c'est pas mal du tout :-) )) Combien d'utilisateurs Word
connaissent le publipostage ? Combien de publiposteurs s'en sortent
avec la fusion conditionnelle ? :-D )))

Quand je rajoute ces informations, je n'ai plus le nom et les 3
produits achetés... mais de nombreuses fiches différentes (en fait 1
par acheteur sans parler des sauts de page, ici intempestifs).


En fait toutes vos informations supplémentaires (nom, adresse etc)
devraient se trouver à l'intérieur du champ IF :
La source est triée selon un champ catégorie (pour vous: client)
Un champ conditionnel IF teste si on change de catégorie d'un
enregistrement à l'autre (notez que le plus simple est d'avoir
un champ marqueur de séparation dans la source elle-même, ce qui
évite de jongler avec des signets conservant l'ancienne valeur du
champ de catégorie) :
Si nouvelle catégorie : je saute une page, j'inscris toutes les
données d'en-tête (nom, adresse etc) puis la première ligne
de données répétitives (article, nombre, prix).
Si pas nouvelle catégorie : j'inscris seulement une ligne de facture.

Ne pas oublier le précepte : une seule source pour une seule fusion
ce qui veut dire que toutes les données nom, adresse livraison, article,
prix, sont présentes dans chaque enregistrement.

Lisez aussi dans l'inestimable FAQ
http://faqword.free.fr/articles.php?lng=fr&pg81

Ceci étant le publipostage Word même avec les meilleures fusions
conditionnelles n'est certainement pas l'outil idéal pour
produire des factures... Classique histoire de marteau que vous
retrouverez en fréquentant ce forum ... :-)

Anacoluthe
« Il vaut mieux avoir l'air conditionné que l'air bête. »
- Jacques LÉVEILLÉ




Avatar
Basque
Bonjour,
Je remercie vivement Anacoluthe de son aide...
Je suis quasiment parvenu à mon objectif :
je suis en mesure de produire maintenant une facture par client avec
toutes les informations que je souhaitai faire apparaître !

Le seul dernier problème qui me reste à résoudre est le suivant :
Lorsqu'un client a acheté un objet, j'ai une fiche du type :

---------------------------------------
Adresse expéditeur


Adresse client


date d'achat :
date de paiement :
N° facture :
....

Qté Objet N° Nom de l'objet Prix
1 12132 lampe 10 EUR
sous total 10 EUR
Frais de port 15 EUR
TOTAL 25 EUR
---------------------------------------

-----> c'est donc parfait !

cela se corse un peu lorsqu'un client a acheté plusieurs objets :
j'obtiens cela :

---------------------------------------
Adresse expéditeur


Adresse client


date d'achat :
date de paiement :
N° facture :
....

Qté Objet N° Nom de l'objet Prix
1 12132 lampe 10 EUR
sous total 20 EUR
Frais de port 20 EUR
TOTAL 40 EUR
1 2454 ampoule 10

---------------------------------------


Quelqu'un aurait il une idée pour pouvoir faire remonter l'achat qui
apparaît en dernier au dessus de "sous-total"...
j'ai tenté de nombreuses combinaisons sans résultat probant!

Je vous remercie encore d'avance,
Excellente journée à toutes et tous,
Cdlt,




----- Original Message -----
From: Basque
Sent:21/Jan/2007 20:59:01 +0100
Subject: Publipostage conditionnel et autre joie !

Bonsoir,
Merci de votre réponse si rapide... c'est vraiment excellent aussi pour
cela le web !
Je vais y travailler sur vos indications... si je suis toujours perdu,
je reviens vers vous.
Merci encore !
Cdlt,



Bonjour !

'Basque' nous a écrit ...
C'est la première fois que j'écris sur un newsgroup... d'avance merci
de ne pas me tenir rigueur de mon inexpérience...


Pour un 1er post c'est pas mal du tout :-) )) Combien d'utilisateurs Word
connaissent le publipostage ? Combien de publiposteurs s'en sortent
avec la fusion conditionnelle ? :-D )))

Quand je rajoute ces informations, je n'ai plus le nom et les 3
produits achetés... mais de nombreuses fiches différentes (en fait 1
par acheteur sans parler des sauts de page, ici intempestifs).


En fait toutes vos informations supplémentaires (nom, adresse etc)
devraient se trouver à l'intérieur du champ IF :
La source est triée selon un champ catégorie (pour vous: client)
Un champ conditionnel IF teste si on change de catégorie d'un
enregistrement à l'autre (notez que le plus simple est d'avoir
un champ marqueur de séparation dans la source elle-même, ce qui
évite de jongler avec des signets conservant l'ancienne valeur du
champ de catégorie) :
Si nouvelle catégorie : je saute une page, j'inscris toutes les
données d'en-tête (nom, adresse etc) puis la première ligne
de données répétitives (article, nombre, prix).
Si pas nouvelle catégorie : j'inscris seulement une ligne de facture.

Ne pas oublier le précepte : une seule source pour une seule fusion
ce qui veut dire que toutes les données nom, adresse livraison, article,
prix, sont présentes dans chaque enregistrement.

Lisez aussi dans l'inestimable FAQ
http://faqword.free.fr/articles.php?lng=fr&pg81

Ceci étant le publipostage Word même avec les meilleures fusions
conditionnelles n'est certainement pas l'outil idéal pour
produire des factures... Classique histoire de marteau que vous
retrouverez en fréquentant ce forum ... :-)

Anacoluthe
« Il vaut mieux avoir l'air conditionné que l'air bête. »
- Jacques LÉVEILLÉ





----- DEBUT DE CONVERSATION (premier message) -----
Bonjour,
C'est la première fois que j'écris sur un newsgroup... d'avance merci de
ne pas me tenir rigueur de mon inexpérience...

Ma problématique est la suivante et je vais la décortiquer en 2 phases :
1/ Je possède une base de données (simplifiée) sous excel en csv : comme
ci-dessous :

Acheteur Numéro objet Titre de l'objet Quantité Prix de vente
Roro 5 Le chat botté 1 20 euros
Riri 10 La belle et la bête 1 2 euros
Riri 3 Les trois petits cochons 1 4 euros
Riri 12 Les aristochats 1 5 euros
Plouf 1 Pif 1 10 euros

A l'aide de ce newsgroup + site web http://faqword.free.fr/ & Microsoft
voir : http://support.microsoft.com/kb/294686/FR Voir ""Affichage de
chaque nouvelle catégorie sur une page différente"" , sur une page word
avec publipostage mode catalogue

{ IF{ MERGSEQ }="1" "[MERGEFIELD Acheteur }
" "" }{ SET Place1{ MERGEFIELD Acheteur }}{ IF{Place2}<>{Place1}"
-----saut de page-------
Qté N°objet Titre Prix de vente Sous-total
{MERGEFIELD Quantité} {MERGEFIELD Numéro objet} {MERGEFIELD Titre}
{MERGEFIELD Prix de vente}
{MERGEFIELD Quantité} {MERGEFIELD Numéro objet} {MERGEFIELD Titre}
{MERGEFIELD Prix de vente}
"}{SET Place2{MERGEFIELD Acheteur}}


------> je suis dans un premier parvenu a créer une fiche par Acheteur
avec l'ensemble des produits achetés sur 3 pages différentes (en vue de
la production d'une facture) avec Riri 3 objets différents... C'est
parfait...


2/ Cela se complique (et je suis perdu en fait) quand j'utilise la base
de données originale qui contient plus d'entrée comme l'adresse de
l'acheteur, la date de la facture...
Quand je rajoute ces informations, je n'ai plus le nom et les 3 produits
achetés... mais de nombreuses fiches différentes (en fait 1 par acheteur
sans parler des sauts de page, ici intempestifs).


EXPEDITEUR
Monsieur xxxx

Adresse de livraison/Destinataire
{MERGEFIELD Nom complet acheteur}
{MERGEFIELD adresse}
{MERGEFIELD code postal} {MERGEFIELD Ville}
{MERGEFIELD Pays}


Date de la vente : {MERGEFIELD Date de vente}
Date de la facture : {MERGEFIELD Date depaiement}
Date de livraison : MERGEFIELD {Date de livraison}
FACTURE N°2007/{N de facture}

{ IF{ MERGSEQ }="1" "[MERGEFIELD Acheteur }
" "" }{ SET Place1{ MERGEFIELD Acheteur }}{ IF{Place2}<>{Place1}"
-----saut de page-------
Qté N°objet Titre Prix de vente Sous-total
{MERGEFIELD Quantité} {MERGEFIELD Numéro objet} {MERGEFIELD Titre}
{MERGEFIELD Prix de vente}
{MERGEFIELD Quantité} {MERGEFIELD Numéro objet} {MERGEFIELD Titre}
{MERGEFIELD Prix de vente}
"}{SET Place2{MERGEFIELD Acheteur}}



Si quelqu'un a suivi ce que je souhaite et voit pourquoi cela plante,
j'en serai enchanté !!! Je tiens à votre disposition les fichiers
originaux si vous souhaitez "bidouiller" dessus !
Il est possible que je n'ai pas été assez clair, donc ne pas hésiter à
me poser des questions...
Cordialement,
Merci d'avance,



Avatar
Anacoluthe
Bonjour !

'Basque' nous a écrit ...
Je suis quasiment parvenu à mon objectif
cela se corse un peu lorsqu'un client a acheté plusieurs objets
Qté Objet N° Nom de l'objet Prix
1 12132 lampe 10 EUR
sous total 20 EUR
Frais de port 20 EUR
TOTAL 40 EUR
1 2454 ampoule 10
Quelqu'un aurait il une idée pour pouvoir faire remonter l'achat qui
apparaît en dernier au dessus de "sous-total"...


Tout doit se faire dans votre source de données !!!
Moins vous en demandez à Word, mieux c'est. Une fusion = une source.
Tous les champs utilisés doivent être dans chaque enregistrement.
Les champs Sous-Total, Frais-de-port, Total ne doivent être
renseignés QUE dans l'enregistrement du dernier objet (ce sont
trois champs calculés pour Excel, plus simples à faire que dans Word)
Ensuite il suffit de n'inscrire ces champs et leurs lignes
après chaque objet QUE s'ils sont non vides. Ainsi seul le dernier
objet est suivi du récapitulatif total. Bonne continuation :-)

Anacoluthe
« Il vaut mieux avoir l'air conditionné que l'air bête. »
- Jacques LÉVEILLÉ

Avatar
Basque
Bonsoir Anacoluthe,

Merci de votre nouvelle réponse !

je vais abuser mais je tente quand même :
comment cela se formalise-t-il en publipostage :
""" Ensuite il suffit de n'inscrire ces champs et leurs lignes
après chaque objet QUE s'ils sont non vides. Ainsi seul le dernier
objet est suivi du récapitulatif total"""

car je suppose que l'on pourrait utiliser le Si Alors Sinon mais l'on ne
peut rentrer que du texte dedans et je n'ai pas trouvé le moyen de
d'ouvrir des {} avec Alt+F9 !!!!

Merci encore,
si vous avez encore quelques instants à me consacrer, je suis évidemment
preneur, sinon, j'ai déjà beaucoup avancé grâce à vous. C'est donc très
bien déjà.
Cordialement,



Bonjour !

'Basque' nous a écrit ...
Je suis quasiment parvenu à mon objectif cela se corse un peu
lorsqu'un client a acheté plusieurs objets
Qté Objet N° Nom de l'objet Prix
1 12132 lampe 10 EUR
sous total 20 EUR
Frais de port 20 EUR
TOTAL 40 EUR
1 2454 ampoule 10
Quelqu'un aurait il une idée pour pouvoir faire remonter l'achat qui
apparaît en dernier au dessus de "sous-total"...


Tout doit se faire dans votre source de données !!!
Moins vous en demandez à Word, mieux c'est. Une fusion = une source.
Tous les champs utilisés doivent être dans chaque enregistrement.
Les champs Sous-Total, Frais-de-port, Total ne doivent être
renseignés QUE dans l'enregistrement du dernier objet (ce sont
trois champs calculés pour Excel, plus simples à faire que dans Word)
Ensuite il suffit de n'inscrire ces champs et leurs lignes
après chaque objet QUE s'ils sont non vides. Ainsi seul le dernier
objet est suivi du récapitulatif total. Bonne continuation :-)

Anacoluthe
« Il vaut mieux avoir l'air conditionné que l'air bête. »
- Jacques LÉVEILLÉ





Avatar
Anacoluthe
Bonjour !

'Basque' nous a écrit ...
comment cela se formalise-t-il en publipostage :
""" Ensuite il suffit de n'inscrire ces champs et leurs lignes
après chaque objet QUE s'ils sont non vides. Ainsi seul le dernier
objet est suivi du récapitulatif total"""


{ IF {MERGEFIELD TOTAL} <> "" "TOTAL = { MERGEFIELD TOTAL } ¶
" }
Si total n'est pas vide écrire une ligne TOTAL = champ-total
sinon pas de ligne du tout. Le saut de paragraphe ¶ est lui-même
compris dans le champ IF

Les champs {} imbriqués s'écrivent avec Ctrl+F9

Anacoluthe
« Il vaut mieux avoir l'air conditionné que l'air bête. »
- Jacques LÉVEILLÉ

Avatar
Basque
Re-,
Un très très grand merci pour votre sollicitude et votre disponibilité !
Mon problème est résolu. Je suis hyper content !
j'aurai appris plein de choses avec vos dernières explications par ailleurs.

Merci!
Cdlt,

Excellente continuation sur ce forum.



Bonjour !

'Basque' nous a écrit ...
comment cela se formalise-t-il en publipostage :
""" Ensuite il suffit de n'inscrire ces champs et leurs lignes
après chaque objet QUE s'ils sont non vides. Ainsi seul le dernier
objet est suivi du récapitulatif total"""


{ IF {MERGEFIELD TOTAL} <> "" "TOTAL = { MERGEFIELD TOTAL } ¶
" }
Si total n'est pas vide écrire une ligne TOTAL = champ-total
sinon pas de ligne du tout. Le saut de paragraphe ¶ est lui-même
compris dans le champ IF

Les champs {} imbriqués s'écrivent avec Ctrl+F9

Anacoluthe
« Il vaut mieux avoir l'air conditionné que l'air bête. »
- Jacques LÉVEILLÉ