user_mobilelogo

NB : Ce tuto (qui date d'environ 2005) est issu d'une idée originale d'anacoluthe et de moi-même, réalisée pour pallier le manque d'une solution Microsoft, et ce après de nombreuses demandes concernant le sujet sur les forums. Notre idée a été largement recopiée sur le web, sans jamais citer les auteurs que nous sommes.

 

Microsoft donne, dans la KB, plusieurs solutions pour faire du publipostage conditionnel. Ces méthodes n'étant pas  satisfaisantes, voici la méthode m@rina/anacoluthe !

Soit, par exemple, une base Excel contenant des noms de clients et des références de commande effectuées par chacun de ces clients, sachant qu'une client peut avoir plusieurs numéros de commande. Comment envoyer à chaque client la liste de ses propres commandes ?

Voici une méthode qui , au lieu d'utiliser une base de données, va utiliser deux bases, soit la base principale et une copie sans doublons de la base principale :

  • Faire une copie de la base Excel, et dans cette copie, conserver uniquement la liste des clients et supprimer les doublons de façon à obtenir une base de clients uniques :
 

  • Nommer les plages de données de chaque base, et enregistrer les fichiers Excel. 
  • Dans Word, créer le document de publipostage comme n'importe quel document de publipostage en utilisant la base filtrée sans doublons.
  • A l'endroit où l'on souhaite avoir lister les commandes du client, utiliser un champ DATABASE :

  • Choisir la base d'origine
  • Cliquer sur le bouton  Options de requête
    • Sous l'onglet Filtrer les enregistrements, choisir le champ Client (selon notre exemple) égal à : taper un mot quelconque, "toto" par exemple.

 

    • sous l'onglet Sélectionner les champs, sélectionner le champ Commande (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

 

 NB : Si Word affiche un message d'erreur disant qu'il ne peut insérer les données, pas de panique !  cliquer sur OK et voyez le paragraphe suivant...
 

  • Un champ DATABASE a été créé : il faut le visualiser en cliquant sur Alt+F9
    Si le message d'erreur (§ 6 ci-dessus) avait été affiché, ajouter une espace avant l'instruction WHERE (vers la fin du champ)
     
  • Dans l'instruction WHERE, remplacer le mot toto par un champ CLIENT (toujours selon notre exemple.
     Attention de ne pas écraser les cotes (') qui encadrent le mot toto.

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

 

Si vous rencontrez des problèmes du point de vue mise en forme du tableau, et en particulier pour les formats numériques, une macro sera nécessaire. Veuillez consulter cet article.

 

 

 

Statistiques

Aujourd'hui34
Hier1762
Cette semaine3463
Ce mois22756
Total depuis 200418225296

4
visiteurs actuellement en ligne

17 avril 2024