Publipostage à cas multiple [Résolu/Fermé]

Signaler
-
Messages postés
16600
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
13 octobre 2020
-
Bonjour,

J'ai un soucis de publipostage.
J'aimerais, à partir du fichier excel ci-dessous, faire un publipostage avec word.
Je voudrais faire une page par classe (une 6°a, une 6°b et une 6°c) et avec le nom, prénom et note de tous les élèves appartenant à cette classe.
J'ai largement simplifié les fichiers pour se faciliter les explications.

http://cjoint.com/?EBraphRzotW (Fichier excel = base de données)
http://cjoint.com/?EBratbCV4qm (Fichier word, à partir duquel on réalise le publipostage)

N'hésitez pas en cas de question(s).

En vous remerciant d'avance.

1 réponse

Messages postés
16600
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
13 octobre 2020
9 799
Bonjour,

Toujours très demandée... il s'agit de la fusion conditionnelle, malheureusement non prévue par Word.

Mais nous ne disons jamais notre dernier mot, et tu trouveras ici la méthode à suivre à la lettre :

http://faqword.com/index.php/word/tutos/toutes-versions/416-publipostage-conditionnel-maison

m@rina
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Bon j'avance petit à petit dans mon affaire.

J'ai un nouveau problème à l'étape suivante : option des requêtes/comparer avec
Ce comparer avec me pose problème. Je peux le faire client par client, mais le publipostage n'aurait plus d'intérêt. Dans mon cas ça serait mettre "classe" dans la rubrique champ, au lieu de "client", et mettre "6°a" dans comparer avec, au lieu de "toto". Le problème c'est qu'avec 3 classes c'est assez rapide, mais avec une 50aine de classe il faudrait que je répète cette manipulation 50 fois.
Y a-t-il une résolution à ce problème ? Cela est-il un problème dû au nom de mes plages de données ?

Merci de vos réponses.
Messages postés
16600
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
13 octobre 2020
9 799
Bonjour,

Il faut suivre la procédure à la lettre.
Pour nommer les bases, ce n'est plus impératif avec les nouvelles versions. Cependant c'est plus pratique.

Tout d'abord, il faut copier ta base dans une seconde feuille du classeur Excel. Dans cette seconde feuille, tu ne conserves que la colonne Classe, et tu supprimes les doublons via la fonction Supprimer les doublons d'Excel. Tu auras donc simplement une liste de toutes les classes.

Dans chacune des deux feuilles, tu sélectionnes tout le tableau, et tu nommes :
- base par exemple pour la base complète
- sans_doublons par exemple pour la base qui ne contient que les classes.

Voilà pour Excel c'est tout ce qu'il y a à faire.

Dans Word :
- Tu choisis comme liste à fusionner la liste "sans_doublons".
- Tu insères le champ de fusion Classe.
- Ensuite tu insères le champ DATABASE. Pour le filtre, dans les options de requête, tu dis Classe = toto.
Dans la liste des données à insérer (onglet Sélecitonner les champs), tu prends tout, sauf le champ Classe.
- Une fois le champ DATABASE inséré, tu l'ouvres via Alt+F9 et tu remplaces "toto" par l'insertion du champ Classe.

Donc y a pas à répéter 50 fois la même chose !

Tu dis si c'est mieux ?

m@rina
>
Messages postés
16600
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
13 octobre 2020

Bonjour m@rina,

Je reviens sur ce sujet puisque j'ai une question étroitement liée !!

Je souhaiterais filtrer (dans les options de requête) suivant 2 variables. Avec une seule ça fonctionne très bien je peux remplacer mon champ "TOTO", en revanche avec 2 variables "TOTO" n'apparaît plus. Je pensais peut-être mettre la fonction "AND", mais je ne sais pas si ça peut marcher et surtout je ne sais pas comment l'écrire.

...WHERE ((`Classe` = 'TOTO'))" \h 


Je ne sais pas si j'ai été bien clair dans l'explication de mon problème mais je reste dispo s'il y a besoin de plus d'explications.

Merci d'avance pour vos réponses.
Messages postés
16600
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
13 octobre 2020
9 799 > Danette
Bonsoir,

Si c'est un ET, je suppose qu'il s'agit de deux champs différents. Sinon, ce serait un OU...

Pour un ET :
WHERE ((`champ1` = 'toto') AND (`champ2` = 'titi'))"


Cela étant, le plus simple est de faire ta requête via le champ, et ton code sera automatiquement généré.

m@rina
Merci beaucoup tes explications sont très claires !!!!!
En fait, j'avais vraisemblablement déjà fait les bonnes manip, mais le problème de cette technique c'est qu'il n'y a pas d'aperçu.
Finalement ça fonctionne très bien après avoir effectué toutes les fusions !!

En revanche je suis un peu déçu de la mise en page. Tu sais si on peut la modifier ? J'ai créé un nouveau poste pour cette question, si t'arrives à répondre ou si tu es intéressée par la réponse :
https://forums.commentcamarche.net/forum/affich-31578523-mise-en-page-avec-publipostage-a-cas-multiple

En tout cas merci beaucoup m@rina !!