Publipostage conditionnel avec deux bases (2 plages nommées dans Excel)

Page mise à jour le : 14/07/2011

      Le besoin exprimé:

   J'ai une liste de personnes devant suivre une formation.
   Je souhaite envoyer un courrier à chaque responsable avec la liste des personnes
   rattachées à leur service respectif et devant effectuer une formation.

Exemple de base de données Excel avec les données contenues dans l'onglet Formations:

La base de données de départ

On s'aperçoit que pour un responsable donné, il y a plusieurs personnes devant suivre une formation.

A présent on va créer une seconde base (dans un nouvel onglet nommé Responsables) avec
uniquement les responsables (Responsable et Service) et avec la notion d'unicité pour les Responsables.

Base des responsables

Nota: Si on transposait cela dans une base Access, on aurait une relation de type: Un à Plusieurs

Relation 1 à Plusieurs

On va maintenant nommer les plages de données dans les deux onglets Excel pour les utiliser lors du mailing.

  • Pour l'onglet Formations, on va tout sélectionner (titres inclus) et nommer la plage BD_Formations.
  • Pour l'onglet Responsables, on va tout sélectionner (titres inclus) et nommer la plage BD_Responsables.
A ce stade, un minimum de connaissances sur l'utilisation du Publipostage avec Word est obligatoire.

A présent on va s'occuper du document Word afin de réaliser notre Publipostage.

  • La première partie du document Word consiste à créer des champs de fusion incluant le Service et le Nom du responsable.
  • La secondes partie comprendra la liste des personnes pour le Responsable ci-dessus et ayant une formation de programmée.

Les champs sont sélectionnés dans la plage nommée BD_Responsables comme le montre l'image ci-dessous.

Choix de la plage de données nommée BD_Responsables

Après la connexion à la base BD_Responsables, il suffit d'insérer les champs de fusion concernant
le Service et le Nom du Responsable aux endroits prévus dans le document Word.
  • Les champs de fusion insérés sont en rouge

Un aperçu de la première partie du document Word

Entête du mailing

Jusque là, il n'y a pas de difficultés particulières, c'est la méthode normale utilisée pour le Publipostage.

Nous allons passer à la seconde partie du Publipostage qui va consister à importer les champs de fusion
concernant les personnes devant suivre une formation MAIS ces champs doivent correspondre
au champ de fusion du Responsable.
Pour cela dans le document Word en dessous du libellé Liste des formations prévues on va insérer
un champ DATABASE (BaseDeDonnées)..

Positionner votre curseur en dessous du libellé Liste des formations prévues car c'est là que vous voulez voir lister
les personnes et leur formation et utiliser les options suivantes:

Word 2000-2003: Menu Insertion, Champs, choisir BaseDeDonnées, puis cliquer sur le bouton Insérer une base de données.
                          Notez qu'avec les versions 2000-2003, on peut utiliser la barre d'outils Base De Données.

Word 2007-2010: Onglet Insertion, groupe Texte, Bouton QuickParts, Champs, choisir BaseDeDonnées,
                          puis cliquer sur le bouton Insérer une base de données.

Ensuite il nous faut obtenir les données en cliquant sur Obtenir les données.

On va à nouveau se connecter à la base de données. Les champs sont sélectionnés dans la
plage nommée BD_Formations comme le montre l'image ci-dessous.

Choix de la dase de données Formations

Après avoir obtenu les données nous allons préciser les Options de requête.

Dans l'onglet Filtrer les enregistrements nous allons chosir quels sont les deux champs communs aux 2 bases.
(Pour rappel, vous pouvez retourner voir la relation Un à Plusieurs plus haut.)

Le champ commun de la base BD_Responsables est Responsable et pour la base BD_Formations
nous allons pour l'instant inscrire par exemple toto car il nous faudra aller modifier cela plus tard.

On va maintenant sélectionner l'onglet Sélectionner les champs et ne garder que les champs dont nous avons besoin
et cocher l'option Inclure les noms de champs.

Valider par OK
Maintenant on va cliquer sur Insérer des données

Un nouveau formulaire s'affiche.
Cocher Insérer en tant que champ et cliquer sur OK.

Voilà notre travail est presque terminé.

Si dans votre document Word vous ne voyez rien de particulier, on va afficher les codes champs en faisant ALT+F9 et l'on va voir ce qui est ci-dessous.

Pas de panique, ce code peut vous effrayer mais il y a juste une petite modification à effectuer.

Vous vous rapellez que tout à l'heure pour le Filtrage des enregistrements, nous avions inscrit toto.
C'est cette partie que nous allons devoir modifier pour remplacer toto par un champ de fusion correspondant.
Le champ commun aux deux bases est Responsable.

Voici la démarche à effectuer pour modifier la dernière ligne du champ BaseDeDonnées que nous venons d'insèrer:

Voilà votre document Word est terminé, il n'y a plus qu'à lancer le mailing et vous découvrirez avec plaisir
que c'est ce que vous vouliez réaliser.

Voici le résultat final

Télécharger les fichiers Word et Excel concernant cet exemple.