Retour à la liste

Publipostage entre une lettre type Word et des données en Excel

Créé : 16.04.2012, 23:01:12  -  Modifié : 24.02.2018, 11:22:21

Word ignore le formatage des nombres quand on fusionne des données d'Excel dans un document Word.

Exemple:

  • Lettre type:
  • Résultats:
    DateAchat" est sous la forme anglaise (8/18/2006 au lieu de 18/8/2006), le "PrixHTVA" (45,46 au lieu de 45,46 €) le "PrixTVAC" (55,0066 au lieu de 55,01 €) et la "TVA" (0,20999999999999999 au lieu de 21,00%) ne sont pas affichés correctement.

Solution:

On peut obtenir un résultat correct en utilisant les commutateurs des codes de champ de l'instruction : MERGEFIELD. Word génère automatiquement l'instruction MERGEFIELD quand on insère un champ de fusion, par exemple, quand on insère le champ "Titre", on obtient: { MERGEFIELD "Titre" }.
MERGEFIELD indique où les données externes doivent être insérées dans un document de fusion et les commutateurs associés à ce code de champ permettent de définir la manière dont les données sont insérées.

Par exemple :

  • en insérant le commutateur \* Upper dans un champ, on demande que Word mette en majuscules chaque mot de la valeur du champ.
  • le commutateur \# spécifie l'affichage d'une valeur numérique. Ce commutateur est appelé commutateur "image", car il utilise des symboles pour représenter le format de la valeur du champ. Ainsi, le commutateur \# "0,00 €" du champ "PrixTVAC" { MERGEFIELD "PrixTVAC" \# "0,00 €" }, affiche la valeur "55,01 €".
  • le commutateur \@ indique la façon d'afficher une date ou une heure. Ainsi le commutateur \@ "dddd d MMMM yyyy" présent dans le champ "DateAchat" { MERGEFIELD "DateAchat" \@ "dddd d MMMM yyyy" } affiche "vendredi 18 août 2006". On indique les symboles des dates et des heures (jour (d), mois (M), année (y), heures (h) et minutes (m)) pour générer une image des dates et heures. La lettre "M" doit figurer en majuscule pour permettre la distinction entre les mois et les minutes. Le séparateur peut être quelconque (/, -, espace, :, …).

Pour obtenir une liste et la signification de ces commutateurs, il suffit de rechercher "Commutateurs généraux" dans l'aide de Word.

Dans notre exemple:

  • on doit donc ajouter les commutateurs aux champs "DateAchat", "PrixHTVA", "PrixTVAC" et "TVA". Dans la lettre type, on affiche les codes de champ à l'aide des touches Alt-F9 et on obtient:

     

  • on supprime l'affichage des codes de champ (Alt-F9) et on peut recommencer la fusion. On obtient:
    TVA" de la façon suivante :
    • supprimer le champ { MERGEFIELD "TVA" \# "0,00%"}
    • Ctr-F9 pour créer un champ (on voit apparaître { })
    • à l'intérieur des crochets, indiquer = 100 * et insérer de la façon habituelle le champ "TVA". On voit { = 100 * { MERGEFIELD "TVA" } },
    • ajouter le commutateur {= 100 * {MERGEFIELD "TVA" } \# "0,00%" }

     

Versions d'Office 2002 (XP) ou 2003

A partir de la version 2002, Word peut conserver automatiquement le formatage des données lors d'une fusion. Pour cela, dans Word, il faut choisir :

  • Outils / Options onglet Général
  • cocher l'option :     
  • lors de l'ouverture des données sources, choisir:

     

  • et le résultat de la fusion:
    <img data-cke-saved-src="http://bruno.fallaitlesavoir.fr/assets/medias_posts/images/1/figure013.jpg" src="http://bruno.fallaitlesavoir.fr/assets/medias_posts/images/1/figure013.jpg" 333px;="" height:="" 209px;"="">

Rendu :0.0606 | Mémoire :2.88MB

Accueil | Informations | Top