Know how directly from the Microsoft 365 mail merge experts
Formatage des dates, nombres et devises dans le publipostage : les corrections qui fonctionnent
By Alex Duggleby · Founder, SecureMailMerge
Un format de date de publipostage est incorrect (46094 au lieu de 13 mars 2026), et £1,250.50 est fusionné en 1250.5, car Excel stocke la valeur brute et conserve le formatage dans la cellule. Corrige-le avant que 300 rappels de facture ne soient envoyés indiquant que le solde est 1250.5 et dû le 46094 : dans Word avec des field switches (\@ pour les dates, \# pour les nombres), dans Excel avec une colonne TEXT() qui fonctionne dans n’importe quel outil, ou dans Outlook avec SecureMailMerge, qui lit le format de la cellule tel qu’il est affiché.
Pourquoi les emails fusionnés affichent la mauvaise date ou le mauvais nombre
Dans Excel, le 13 mars 2026 est stocké comme le nombre 46094 (jours comptés depuis le début de 1900), et £1,250.50 est stocké comme 1250.5. Ce que tu vois dans la cellule est cette valeur passée à travers un format de nombre tel que d mmmm yyyy ou "£"#,##0.00.
La fusion de courrier de Word se connecte au classeur et lit la valeur stockée, pas l’affichage formaté. Microsoft documente cela pour les dates, numéros de téléphone et devises et liste les mêmes symptômes dans son article de dépannage sur la perte de formatage Excel :
| Dans Excel | Dans le champ de fusion Word | Ce qui s’est passé |
|---|---|---|
| 50% | .5 | The percentage format was dropped (Le format pourcentage a été perdu) |
| $12.50 | 12.5 | Currency symbol and trailing zero lost (Symbole monétaire et zéro final perdus) |
| 07865 | 7865 | The leading zero of a ZIP code vanished (Le zéro initial d’un code postal a disparu) |
| 13/03/2026 | 3/13/2026 or 46094 | Date shown in US order, or as a serial number if Word reads the column as numbers (Date affichée au format US, ou comme un numéro de série si Word lit la colonne comme des nombres) |
Tu peux aussi voir de longues décimales (comme 0.30000000000000004) sur des valeurs calculées par des formules, parce que Word affiche le nombre stocké complet plutôt que celui arrondi qu’Excel affiche.
Il y a trois solutions : Word field switches quand tu fais la fusion dans Word, une colonne Excel TEXT() qui fonctionne dans n’importe quel outil, ou SecureMailMerge, qui lit le format de la cellule sans configuration.
Correction 1 : Format de date et format de nombre dans le publipostage Word
Un champ de fusion Word accepte un commutateur de formatage, un petit modèle écrit à l’intérieur du code du champ. \@ définit le format de date du publipostage et \# définit le format de nombre du publipostage. Tu ajoutes des commutateurs en modifiant directement le code du champ.
Étape 1 : Afficher les codes des champs
Ouvre ton document de fusion et appuie sur Alt+F9. Chaque champ de fusion passe de «PaymentDate» à son code sous-jacent, par exemple { MERGEFIELD PaymentDate }.
Étape 2 : Tape le commutateur à l’intérieur des accolades
Clique juste avant l’accolade fermante et tape le commutateur, par exemple \@ "d MMMM yyyy" pour une date ou \# "£,0.00" pour un montant. Garde les guillemets autour des modèles qui contiennent des espaces ou des symboles.
Étape 3 : Mets à jour le champ et repasse en mode normal
Appuie sur F9 avec le curseur dans le champ pour le mettre à jour, puis appuie de nouveau sur Alt+F9 pour revenir à la vue normale.
Étape 4 : Prévisualise les résultats
Dans l’onglet Mailings, choisis Preview Results (Prévisualiser les résultats) et parcours plusieurs enregistrements, y compris un avec un montant négatif, une cellule vide et un jour à un chiffre, avant de terminer la fusion.
Commutateur de date \@
Le commutateur de date est sensible à la casse : M est le mois et m sont les minutes, donc dd/mm/yyyy affichera les minutes là où tu attendais le mois.
Mois ou minutes ?
{ MERGEFIELD PaymentDate \@ "d MMMM yyyy" } 13 March 2026
{ MERGEFIELD PaymentDate \@ "dd/MM/yyyy" } 13/03/2026
{ MERGEFIELD PaymentDate \@ "MMMM d, yyyy" } March 13, 2026
{ MERGEFIELD PaymentDate \@ "dddd, d MMMM" } Friday, 13 March
{ MERGEFIELD PaymentDate \@ "yyyy-MM-dd" } 2026-03-13
Format de devise et commutateur de nombre dans le publipostage \#
Dans un modèle numérique, 0 affiche toujours un chiffre (avec des zéros en remplissage), # affiche un chiffre seulement s’il y en a un, et une virgule ajoute un séparateur de milliers. Les symboles monétaires et % s’affichent tels quels, et un point-virgule sépare les formats positif et négatif.
Le modèle largement copié \# "$#,##0.00" est un exemple officiel de Microsoft et fonctionne, mais la référence des champs Formula de Microsoft note que chaque # sans chiffre à afficher imprime un espace. Supprimer les espaces réservés #, comme dans \# "$,0.00", donne le même résultat sans ce risque, donc les exemples ci-dessous utilisent la forme plus courte.
{ MERGEFIELD Amount \# "0.00" } 1250.50
{ MERGEFIELD Amount \# ",0.00" } 1,250.50
{ MERGEFIELD Amount \# "$,0.00" } $1,250.50
{ MERGEFIELD Amount \# "$#,##0.00" } $1,250.50 (Microsoft's form)
{ MERGEFIELD Amount \# ",0.00 €" } 1,250.50 €
{ MERGEFIELD Amount \# "£,0.00;(£,0.00)" } (£1,250.50) for -1250.5
Pour les décimales dans le publipostage, le nombre de zéros après le point les définit : "0.00" donne deux décimales et arrondit le reste.
Format pourcentage dans le publipostage
Le commutateur \# formate un nombre mais ne peut pas le multiplier, donc une cellule affichant 12,5 % fusionne toujours en .125. Entoure le champ de fusion dans un champ formule et multiplie par 100. Insère chaque paire d’accolades de champ avec Ctrl+F9 ; les accolades tapées ne fonctionnent pas.
Cellule affiche 12,5 %, Word fusionne
Multiplier par 100
Modèle 0.0%
{ = { MERGEFIELD Rate } * 100 \# "0.0%" } 12.5%
Zéros non significatifs, codes postaux et identifiants dans le publipostage
Un code postal dans un publipostage qui arrive sous la forme 2134 au lieu de 02134 est le cas classique. Les codes postaux, numéros de compte et numéros de téléphone sont des identifiants, pas des nombres, donc la solution la plus propre est de les stocker comme texte : définis le format de la colonne sur Text dans Excel avant de taper ou coller les valeurs, car Excel supprime un zéro non significatif dès qu’il stocke la valeur comme un nombre.
Cellule numérique
Colonne texte d’abord
Si la colonne est déjà numérique, un espace réservé 0 complète la valeur jusqu’à une longueur fixe :
{ MERGEFIELD Zip \# "00000" } 02134
L’alternative DDE
Word peut aussi lire les valeurs exactement comme Excel les affiche via une connexion DDE héritée : active Confirm file format conversion on open sous File > Options > Advanced, puis choisis MS Excel Worksheets via DDE quand l’assistant demande la source des données. Microsoft documente les étapes ; teste d’abord sur une copie.
Correction 2 : Format dans Excel avec TEXT() (fonctionne partout)
La correction la plus portable est de faire le formatage dans Excel. La fonction TEXT() transforme une valeur en texte final, donc chaque outil de publipostage, y compris les add-ins Word, Outlook et les exports CSV, reçoit exactement ce que tu vois. Garde la colonne originale pour les calculs et ajoute une colonne d’affichage à côté. Par exemple une ligne stocke 46094 et 1250.5 tandis que les colonnes d’affichage à côté montrent 13 March 2026 et £1,250.50, et 46101 s’affiche comme 20 March 2026 ; un montant négatif comme -80 peut s’afficher comme (£80.00).
| PaymentDate | PaymentDateText | Amount | AmountText |
|---|---|---|---|
| 46094 | 13 March 2026 | 1250.5 | £1,250.50 |
| 46101 | 20 March 2026 | -80 | (£80.00) |
| Besoin | Formula | Resultat |
|---|---|---|
| Long date | =TEXT(A2,"d mmmm yyyy") | 13 March 2026 |
| UK short date | =TEXT(A2,"dd/mm/yyyy") | 13/03/2026 |
| US date | =TEXT(A2,"mm/dd/yyyy") | 03/13/2026 |
| Two decimal places | =TEXT(B2,"0.00") | 1250.50 |
| Currency | =TEXT(B2,"£#,##0.00") | £1,250.50 |
| Percentage | =TEXT(C2,"0.0%") | 12.5% |
| Leading zeros | =TEXT(D2,"00000") | 02134 |
Contrairement à Word, la fonction TEXT() d’Excel en anglais utilise m pour les mois et les minutes et détermine ce que tu veux selon le contexte, donc dd/mm/yyyy est correct ici. La référence de la fonction TEXT de Microsoft liste tous les codes de format, et notre page d’aide montre un exemple pas à pas de date avec TEXT().
CSV files carry no formatting
Un fichier CSV stocke du texte brut. Quand tu sauvegardes un classeur en CSV, Excel écrit généralement chaque valeur telle qu’elle est affichée, donc vérifie le CSV dans un éditeur de texte avant de faire le publipostage. Si tu ouvres ce CSV dans Excel à nouveau, Excel peut reconvertir les valeurs en nombres et supprimer les zéros en tête.
Correction 3 : Fusion depuis Outlook avec SecureMailMerge, sans commutateurs ni colonnes d’aide
La correction 1 ne fonctionne que lorsque tu fais la fusion dans Word, et la correction 2 implique d’ajouter une colonne d’aide pour chaque colonne formatée. Si tu envoies depuis Outlook, SecureMailMerge lit le texte affiché par le format de chaque cellule, donc la feuille de calcul n’a pas besoin d’être modifiée. C’est un add-in de publipostage qui fonctionne dans Outlook. Au lieu de la valeur brute stockée, il lit le texte produit par le format numérique de chaque cellule, donc la plupart des feuilles de calcul fusionnent comme elles apparaissent dans Excel sans commutateurs ni colonnes d’aide.
| Valeur de la cellule Excel | Format de la cellule | Texte fusionné |
|---|---|---|
| 1250.5 | "£"#,##0.00 | £1,250.50 |
| 1250.5 | #,##0.00 "€" | 1,250.50 € |
| 0.125 | 0.0% | 12.5% |
| 2134 | 00000 | 02134 |
| 46094 | d mmmm yyyy | 13 March 2026 |
Quelques points à savoir. La date longue dépendante de la région (marquée avec * dans la boîte de dialogue Format Cells d’Excel) suit les paramètres de ton ordinateur. Pour des résultats prévisibles, choisis un format de date sans le marqueur *, ou utilise une colonne TEXT(). Les formats personnalisés très complexes avec sections conditionnelles ou codes couleur peuvent ne pas correspondre, donc utilise une colonne TEXT() pour ceux-là. Les fichiers CSV et les cellules formatées en Texte sont lus tels quels, sauf que les nombres en notation scientifique sont développés en chiffres complets. Un bonus : les nombres longs en format Général, comme les numéros de téléphone, fusionnent avec leurs chiffres complets plutôt qu’en notation scientifique.
How closely SecureMailMerge matches Excel
- Formats fixes et la plupart des formats personnalisés : conservés
- Dates dépendantes de la région (*) : choisis un format sans le marqueur *
- Formats personnalisés complexes : utilise une colonne TEXT()
- Cellules CSV et Texte : lus tels quelsAs written, so format the file first
Parce que les valeurs arrivent sous forme de texte affiché, les conditions numériques comme {% if OrderTotal >= 100 %} ont besoin d’une colonne qui affiche un nombre simple, donc garde une copie non formatée de toute colonne que tu compares et utilise la colonne formatée dans le texte de l’email. Pour les cellules vides, les caractères spéciaux dans les en-têtes ou les fichiers qui ne se chargent pas, consulte default values, Liquid syntax errors et spreadsheet troubleshooting.
Tableau de référence rapide pour les commutateurs Word et TEXT() d’Excel
| Problème | Word field switch | Excel TEXT() |
|---|---|---|
| La date s’affiche comme 46094 ou au format US | \@ "d MMMM yyyy" | =TEXT(A2,"d mmmm yyyy") |
| Trop de décimales | \# "0.00" | =TEXT(B2,"0.00") |
| Symbole monétaire manquant | \# "£,0.00" | =TEXT(B2,"£#,##0.00") |
| Pourcentage affiché comme .125 | { = { MERGEFIELD Rate } * 100 \# "0.0%" } | =TEXT(C2,"0.0%") |
| Code postal perd le zéro initial | \# "00000" | =TEXT(D2,"00000") |
| Montants négatifs | \# ",0.00;(,0.00)" | =TEXT(B2,"#,##0.00;(#,##0.00)") |
Le tableau couvre uniquement Fix 1 et Fix 2. Pour SecureMailMerge, voir Fix 3 ci-dessus.
Checklist pour les campagnes SecureMailMerge avec des relevés, factures et listes de prix
- Formate chaque colonne de date, montant et pourcentage dans Excel de la manière dont elle doit apparaître dans l’email.
- Stocke les codes postaux, numéros de compte et numéros de téléphone en tant que Texte avant de les saisir.
- Écris le mois en toutes lettres (13 March 2026) lorsque les destinataires vivent dans différents pays.
- Garde une copie non formatée de toute colonne que tu utilises dans une condition numérique, et ajoute un fallback pour les colonnes qui peuvent être vides.
Pour le workflow complet du tableau à la campagne envoyée, lis le complete guide to mail merge in Outlook ou le tutoriel sur how to mail merge from Excel.
Questions fréquentes
Pourquoi le publipostage affiche-t-il ma date sous forme de nombre comme 46094 ?
Excel stocke les dates sous forme de numéros sériels, et 46094 correspond au 13 mars 2026. Word lit cette valeur stockée. Ajoute un commutateur de date tel que \@ "d MMMM yyyy" au champ, ou fais le publipostage à partir d’une colonne TEXT().
Comment garder deux décimales dans un publipostage ?
Dans Word, ajoute \# "0.00" (ou \# ",0.00" pour un séparateur de milliers) au champ de fusion. Dans Excel, utilise =TEXT(B2,"0.00"). SecureMailMerge garde les décimales affichées par le format numérique de la cellule.
Comment afficher correctement un pourcentage dans un publipostage ?
Word fusionne 12,5 % en .125. Utilise un champ formule, { = { MERGEFIELD Rate } * 100 \# "0.0%" }, en insérant des accolades avec Ctrl+F9, ou fais le publipostage à partir de =TEXT(C2,"0.0%"). SecureMailMerge garde le format pourcentage de la cellule.
Pourquoi les codes postaux perdent-ils leur zéro initial ?
Excel stocke 02134 comme le nombre 2134 sauf si la cellule est formatée en Texte. Formate la colonne en Texte avant d’entrer les valeurs, complète-la dans Word avec \# "00000", ou utilise le format numérique 00000.
Est-ce que SecureMailMerge garde mon format de date Excel ?
Oui, dans la plupart des cas. Il lit la valeur formatée affichée par Excel. Les formats fixes et la plupart des formats personnalisés sont conservés. La date longue dépendante de la région suit les paramètres de ton ordinateur, donc choisis un format sans le marqueur * ou utilise une colonne TEXT() pour un résultat garanti.
La correction est-elle différente pour les fichiers CSV ?
Oui. Un CSV contient du texte brut sans formatage de cellule, donc les valeurs fusionnent telles qu’écrites dans le fichier, sauf les nombres en notation scientifique qui sont développés. Vérifie le CSV dans un éditeur de texte, et corrige le formatage dans Excel avant d’exporter.
Tu as aimé cet article ?
Nous avons toute une bibliothèque d'articles utiles à lire pour toi
Montre-moi la bibliothèque des articles Outlook.