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

Publipostage liste de données de longueur variable

5 réponses
Avatar
lenainrouge
Bonjour à tous,

je solicite votre aide sur la question suivante: comment envoyer à 89
établissements une liste de données de longueur variable ?

Soit un fichier de quelques colonnes et de 600 lignes.

La permière colonne contient la nom de l'établissement. Les autres, celles
des agents qui y sont rattachés.
Chaque établissement à un nombre d'agent qui varie entre 3 et 10.
Il y a une ligne par agent.

L'enjeu du publispostage consisite à envoyer à chaque établissement la liste
de ses agents par mail.

Je connais le publispotage dans Word, mais j'ai autant de lettres que
d'agents !
Je ne connais pas access.
Est-ce que ce que je veux faire est possible avec Excel ?

merci

5 réponses

Avatar
papou
Bonjour
Comme tu l'indiques, le publipostage c'est faisable avec Word, pas avec
Excel.
Maintenant, tu peux utiliser une source de données Excel sans aucun
problème.
Après quelle est la question ?

Cordialement
Pascal

"lenainrouge" a écrit dans le
message de news:
Bonjour à tous,

je solicite votre aide sur la question suivante: comment envoyer à 89
établissements une liste de données de longueur variable ?

Soit un fichier de quelques colonnes et de 600 lignes.

La permière colonne contient la nom de l'établissement. Les autres, celles
des agents qui y sont rattachés.
Chaque établissement à un nombre d'agent qui varie entre 3 et 10.
Il y a une ligne par agent.

L'enjeu du publispostage consisite à envoyer à chaque établissement la
liste
de ses agents par mail.

Je connais le publispotage dans Word, mais j'ai autant de lettres que
d'agents !
Je ne connais pas access.
Est-ce que ce que je veux faire est possible avec Excel ?

merci


Avatar
Jac
Bonjour Lenainrouge,

si tes établissements sont en colonne et tes agents colonne B, essaye un peu
ou beaucoup ceci :

http://cjoint.com/?kElWBiwfmT

On en reparle quand tu veux.

Jac



"lenainrouge" a écrit dans le
message de news:
Bonjour à tous,

je solicite votre aide sur la question suivante: comment envoyer à 89
établissements une liste de données de longueur variable ?

Soit un fichier de quelques colonnes et de 600 lignes.

La permière colonne contient la nom de l'établissement. Les autres, celles
des agents qui y sont rattachés.
Chaque établissement à un nombre d'agent qui varie entre 3 et 10.
Il y a une ligne par agent.

L'enjeu du publispostage consisite à envoyer à chaque établissement la
liste
de ses agents par mail.

Je connais le publispotage dans Word, mais j'ai autant de lettres que
d'agents !
Je ne connais pas access.
Est-ce que ce que je veux faire est possible avec Excel ?

merci


Avatar
lenainrouge
Bonjour,

merci pour votre aide, mais j'ai encore un petit problème.
Voilà, j'arrive à récupérer dans Word la liste des agents par
établissements. J'ai bidouillé quelque chose à partir de cet exemple trouvé
sur le net:

1{MERGEFIELD Employé} {MERGEFIELD Projet}
2{set duplicate {if {MERGEFIELD Contrôle}="1" "off" "on"}}
3{nextif {mergefield Contrôle}=""}{if {duplicate}="on" "P t
4{MERGEFIELD Projet}"}
5{set duplicate {if {MERGEFIELD Contrôle}="1" "off" "on"}}
6{nextif {mergefield check}=""}{if {duplicate}="on" "P t
7{MERGEFIELD Projet}"}
8{set duplicate {if {MERGEFIELD Contrôle}="1" "off" "on"}}
9{nextif {mergefield check}=""}{if {duplicate}="on" "P t
10{MERGEFIELD Projet}"}
11{set duplicate {if {MERGEFIELD Contrôle}="1" "off" "on"}}
12{nextif {mergefield check}=""}{if {duplicate}="on" "P
12t{MERGEFIELD Projet}"}

Seulement voilà, quand je passe à la lettre n°2, je retrouve la même liste,
moins le permier nom. Autrement dit, au lieu de passer à l'établissement
suivant, je passe à la ligne n°2 de mon tableau :(

Il me faut donc une instruction qui ressemblerait à ça:

{MERGEFIELD Établissement}
{if {MERGEFIELD Contrôle}" " then go to next "1"}

et c'est l'expression " then go to next " qui me fait défaut. Une idée ?
Avatar
Jac
Question 1 : est-ce que le calcul préconisé dans le modèle te donne le
résultat escompté sur tes données, à savoir pour chaque établissement ne
ligne et sur chaque ligne autant d'employés qu'il y en a ?

Question 2 : est-ce que ton Word s'appuie sur le fichier XL original (donc
ça ne marche pas) ou sur le nouveau fichier généré par ma "manipulation"
(donc ça marche) ?


Dans Word, tu insère les onze champs possibles, donc établissement puis dix
employés. Si employé est vide, Word n'affiche rien. Ne cherche pas à "jouer"
avec les trucs compliqués.


Tout , selon moi, doit être prêt dans XL afin que dans Word, il n'y ait qu'à
importer les champs sans commencer avec des conditions et autres calculs et
sans que l'utilisateur ait besoin de connaitre toutes les ficelles du
publipostage. Ce qui compte c'est déclarer la source et insérer les champs.
Ça peut s'expliquer en quelques minutes à tout utilisateur et il n'en faut
pas plus pour faire une doc avec quelques copies d'écran.

Si tu décompactes http://cjoint.com/?lhai1nYWXg à la racine du C: tu
devrais voir ce que ça donne.Le fichier XL contient les données "manipulées"
par ma procédure et le fichier Word s'appuie sur ce fichier pour en faire le
publipostage attendu. C'est tout.

On en reparle quand tu veux.

Jac
Avatar
DesseJ
Bonjour,

Une fusion conditionnelle avec regroupement par établissement : voir
le site de Circé sur Word http://faqword.free.fr/ pour plus d'infos.

1. Commencer, dans Excel, par faire un filtre élaboré de façon à
obtenir une liste des établissements sans doublons (Menu Données,
Filtrer, Filtre élaboré, choisir Extraction sans doublons). Pour
extraire une base sans doublons sur une nouvelle feuille, positionner
le curseur sur cette feuille avant de commencer la fonction de filtre.

2. Nommer les plages de données de chaque base (par exemple TouslesEts
et EtsSansDoublons), puis enregistrer et quitter le fichier Excel.

3. Dans Word, créer le document de publipostage comme n'importe quel
document de publipostage en utilisant la base filtrée (plage nommée
avec enregistrements uniques, ici tes établissements soit la plage
EtsSansDoublons).

4. A l'endroit où l'on souhaite avoir lister les employés, utiliser la
barre d'outils Base de données (clic droit sur une barre d'outils,
Sélectionner Base de données) :
- cliquer sur le bouton 'Insérer une base de données". Choisir la base
d'origine, soit la base TouslesEts.
- cliquer sur le bouton "Options de requête".
- dans l'onglet 'Filtrer les enregistrements", choisir le champ
"Etablissement" (le nom de ton champ dans excel) égal à : taper un mot
quelconque, "toto" par exemple.
- dans l'onglet "Sélectionner les champs", sélectionner le champ
"Employé" (toujours selon notre exemple).
- cliquer sur OK puis sur le bouton Insérer les données.
- cocher l'option "Insérer en tant que champ", puis cliquer à nouveau
sur OK.
- si Word affiche un message d'erreur disant qu'il ne peut insérer les
données, pas de panique ! cliquer sur OK.
- un champ DATABASE a été créé : il faut le visualiser en cliquant sur
Alt+F9.
- Dans l'instruction WHERE ((`Etablissement` = 'toto')), remplacer le
mot toto par le champ établissement : ((`Etablissement` = '{MERGEFIELD
ETABLISSEMENT}')),

5. La fusion est prête à s'accomplir.

Cordialement,
Stéph. D.