Word ignore le formatage des nombres quand on fusionne des données d'Excel dans un document Word.
Exemple:
- Lettre type:
- Données:
- Résultats:
On constate que le formatage des nombres réalisé dans Excel a disparu. La "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 :
Pour obtenir une liste et la signification de ces commutateurs, il suffit de rechercher "Commutateurs généraux" dans l'aide de Word.
- 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, :, …).
Dans notre exemple:
Pour modifier cet affichage :
- 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 indique ensuite les différents commutateurs (en bleu dans la figure suivante):
- on supprime l'affichage des codes de champ (Alt-F9) et on peut recommencer la fusion. On obtient:
On constate que le formatage du taux de TVA n'est pas correct (0,21% au lieu de 21,00%). Cet affichage est normal, car en Excel l'opérateur % divise le nombre par 100 (en mémoire on a 0,21).
- dans la lettre type, on affiche les codes de champ à l'aide des touches Alt-F9,
- on réintroduit le champ "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%" }
- on supprime l'affichage des codes de champ (Alt-F9) et on peut recommencer la fusion. On obtient:
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:
- voici la lettre type:
- et le résultat de la fusion:
Version d'Office 2007
Dans Word, il faut choisir :
- Bouton Office / Options Word
- A gauche : Options avancées
- A droite : dans la rubrique Général (en bas), cocher l'option "Confirmer la conversion du format de fichier lors de l'ouverture"
- lors de l'ouverture des données sources, choisir: