Lors du publipostage sur Word à partir d’un tableau Excel, vous pouvez avoir un problème concernant le nombre de décimales des nombres au moment du publipostage.
Exemple : 9,67 est enregistré dans le tableau Excel et pourtant au moment d’utiliser le champ de fusion correspondant le nombre affiché est 9,6699999999999999.
Comment régler le problème de formats des nombres après publipostage à partir de nombres d’un tableau Excel ?
Il faut d’abord choisir les champs de publipostage dans Word (les solutions depuis Excel, à voir en fin d’article, ne fonctionnent généralement pas), pour régler le problème.
Pour régler le problème de format des nombres lors du publipostage :
1/ Entrez normalement vos champs de fusion.
2/ Appuyez simultanément sur les touches « Alt » et « F9 ». Cela affiche les codes de champs. Dans mon exemple on a :
{ MERGEFIELD MOYENNE }
3/ À la fin du nom de votre champ, ajoutez \# « #,00 ». Pour l’exemple cela donne :
{ MERGEFIELD MOYENNE \# « #,00 » }
4/ Appuyez à nouveau sur « Alt » et « F9 ».
Le problème du nombre de décimales affichées lors d’un publipostage à partir d’un tableau Excel est alors réglé ! Le fichier affiche uniquement deux décimales pour les champs de fusion concernés.
Si ce n’est pas le cas, faites un clic droit sur le champ de fusion, puis « Mettre à jour ».
Remarque : le nombre de 0 de l’étape 4 correspond au nombre de décimales à afficher après la virgule.
Quelques solutions qui ne fonctionnent pas dans la plupart des cas :
- choisir le format standard dans le tableau Excel pour les cellules concernées.
- stocker les cellules concernées sous forme de texte.
En effet le « problème » doit être traité depuis Word.
Pourquoi ce problème de formats des nombres après publipostage (problème de nombre flottant) ?
Le nombre de décimales affichés après la virgule est lié à la façon dont sont stockés les nombres.
En effet, les nombres sont souvent stockés sous forme de « flottants » sur un ordinateur (type float ou double). Cet ensemble correspond à un sous ensemble de tous nos nombres.
Ainsi tous les nombres ne peuvent pas être directement représentés (voir ce lien pour plus de détails sur les types de nombres). On pense par exemple stocker 0.4 mais l’ordinateur lui stocke 0.400000005960465…
L’astuce consiste de dire à Word d’arrondir ce nombre à deux chiffres après la virgule. On retombe ainsi sur un nombre avec le même affichage qu’au départ.
Commentez pour toute question ou remarque concernant le problème d’affichage du nombre de décimales lors du publipostage !
Ce format # ###,00 met un espace fixe avant les chiffres, pas joli pour les petits nombres… Y a t-il un format qui annule ces espaces inutiles (le # devrait servir à ça, non) ? Ce n’est pourtant pas ce qui se passe…
Merci.
Bonjour,
merci pour votre commentaire, je ne suis pas sûr de comprendre pour « l’espace ». Auriez-vous une capture d’écran ?
Jérémy.
merci, ça fonctionne !
De rien !
Bonjour et merci pour ce coup de main !
J’ai cependant un petit souci, le chiffre avant la virgule disparait si il s’agit d’un 0.
Exemple pour 0,25 j’obtiens ,25 le zéro a disparu.
Et j’ai le même souci qu Pascal Boegli, il y a des espaces en trop.
Exemple de rubrique « Poids : 1,25 » me donne « Poids : 1,25 »
Merci
Bonjour,
de rien et merci pour le commentaire !
Effectivement pour les espaces je viens de voir le problème, j’ai mis à jour l’article, il faut indiquer : \# « #,00 » à la fin du champ de fusion.
Pour les 0 c’est un autre problème, le format devrait être de ce type : \# « #0,00 », mais il y aura un espace avant pour tous les nombres commençant par 0.
Bon courage pour votre fichier !
Bonjour
J’ai suivi votre procédure, mais ça me met des « Mergefield » sur tout mon publipostage, pas seulement sur le champ que j’avais sélectionné. Du coup ça me bloque tout, je ne peux plus faire d »aperçu.
Bonjour,
merci pour le message. Vous devez appuyer sur « Alt + F9 » pour revenir au mode classique. Vous pourrez alors faire un aperçu.
Bonjour,
j’ai une question annexe, pas liée au format de nombre.
L’exemple choisi fait référence à une moyenne. Je souhaite insérer une moyenne dans un publipostage et cette moyenne est identique pour l’ensemble des destinataires (chacun reçoit une note individuelle mais la moyenne est commune). Est-ce qu’il y a une solution plus pertinente que d’ajouter une colonne « moyenne » avec la même valeur pour toutes les lignes/destinataires ? Merci
Bonjour,
merci pour le commentaire. Si j’ai bien compris il s’agit par exemple d’une moyenne de groupe ou de classe ? Si oui, effectivement on peut soit avoir une colonne identique pour tout le monde, soit entrer directement la valeur sans que ce soit un champ de fusion, puisque la valeur est la même pour tous.
Bonne journée,
Jérémy.
Merci de cette réponse rapide. Effectivement.
J’ai choisi de recopier la valeur directement dans le document Word dans mon cas mais on n’est jamais à l’abri d’une faute de frappe ^^
Merci pour votre blog, c’est plus clair dans vos explications et ça changer la vie…. bureautique
De rien et merci pour le commentaire, ça fait plaisir !
Bonjour, je suis désolée, mais ça ne fonctionne toujours pas chez moi.
Apparaît 00 sur tous mes courriers et je ne sais pas pourquoi.
Pourtant j’ai bien mis \# « #,00 »
Merci de l’aide
Bonjour,
merci pour le commentaire. Le 00 apparait avant le nombre ?
Bonjour Jérémy,
Merci de ta réactivité.
Le 00 apparaît à la place du nombre, il n’y a donc aucun pourcentage qui apparaît ensuite sur mes documents publipostés.
De rien, ah oui si c’est un pourcentage effectivement c’est un autre format. Ça doit ressembler à : *100\# « #,00 % »
Le champ de fusion final :
{={MERGEFIELD « Moyenne »} *100\# « #,00 % »}
Je ne comprends pas…. ça ne fonctionne toujours pas, j’ai toujours le 00 qui apparaît. Je me dis qu’il y a autre chose qui ne va pas, mais je n’arrive pas à savoir quoi. Mon champs est : { MERGEFIELD M_daugmentation *100\# « #,00 % » }
Est-ce qu’il y a quelque chose que je ne vois pas?
Bonjour Marine,
effectivement autant pour moi, ce n’est pas le bon format et il faut en plus ajouter le code de champ. Comme j’ai vu plusieurs fois cette demande j’ai tout remis dans un nouvel article : https://blog.partiprof.fr/inserer-pourcentages-publipostage-word/
Bonne journée !
Une collègue m’a demandé de l’aide pour cette problématique, mais elle a réalisé avoir sélectionné DB au lieu de OLE DBE. La sélection OLE DBE a réglé le tout, je ne sais pas si cela est la solution universelle ou seulement dans certains cas.
Bonjour,
Pouvez vous m’aider :
Montant affiché sur Word : 4559.6000000000004
MERGEFIELD Retenue_2019\### »##,00 = 4560
Alors que le montant que je souhaite afficher est 4559.60
En vous remerciant infiniment
Isabelle
Avez-vous trouver une réponse, j’ai le même problème?
Merci
Merci pour l’info ; c’est parfait
De rien !
Bonjour
Malgré un formatage en \# « #,00 » ou \# « ##0,00 » mes nombres restent entiers sans décimale
Ils sont formatés dans excel en nombre et 2 décimales. et pour certain proviennent d’un calcul donc impossible de mettre au format standard ou texte.
d’autre part certains et pas tous s’affichent ainsi exemple 25,999999995
quelles peuvent être les raisons de ce disfonctionnement
Pour moi c’est le contraire. Je ne souhaite avoir que le nombre entier.
Exemple: j’ai 37,4343434, je voudrai 37
Bonjour,
merci pour le commentaire. Il s’agit d’un pourcentage ? Si oui, il faut voir cet article : https://blog.partiprof.fr/inserer-pourcentages-publipostage-word/. Sinon modifier le formatage pour enlever les 0.
Bonne journée !
pour convertir : 1502.65956 en 1 502,66
{MERGEFIELD »champ de fusion »\# »# ###,00}
les » avant et après le nom du champ de fusion sont importantes.
Bonjour,
oui effectivement, merci pour le commentaire !
Jérémy.
Bonjour,
Lors de mon publipostage mes valeurs sont divisées par 100.
Sur mon excel j’ai 310.68 et sur mon word 3.11.
Comment puis-je récupérer les bons nombres ?
Merci
Séverine
Bonjour,
J’ai le même soucis. avez vous réussi ?
non toujours pas
Merci beaucoup
effectivement mon problème a été résolu grace à cette solution
Bonjour,
De rien et merci pour le commentaire !
Jérémy
Bonjour,
Dans la colonne du fichier Excel (qui me sert de liste) j’ai du numérique et du texte (en format personnalisé 00 pour avoir 2 digits pour les nombres). Lors du publipostage le champ dans Word n’apparait qu’en numérique (le texte est remplacé par 0) pourtant il n’y a aucun commutateur pour ce champ. Auriez vous une solution à me proposer ?
Cordialement
Olivier
Bonjour,
Merci déjà pour votre réponse, cela m’a beaucoup aidé.
J’ai un autre souci de format dans le même genre, j’ai un champ « Nombre de places » dans mon tableau excel qui apparait en tant que nombre (ex : Nombre de places : 5) mais dans Word, ce champ apparait en format date (ex : Nombre de places : 1/5/1900).
Une solution pour moi svp ?
Bonjour,
de rien et merci pour le commentaire. Dans ce cas je pense que c’est en revanche plus un problème de format dans Excel. Je viens d’essayer avec le même type de données et cela est ok. Sinon est-il possible de transmettre un extrait des fichiers ?
Bonne journée !
Bonjour
je rencontre un problème avec les arrondis qui lors du passage du Excel au Word ne sont pas les mêmes (arrondis au chiffre supérieur).
Je m’explique. Sur Excel, j’ai une case avec un nombre dont le format est nombre de décimales : 2.
Par exemple : 20,36496 devient sur Excel 20,36. Ce qui est parfait.
Lors du publipostage sur word, avec la formule \##,00 », j’ai bien un arrondi aussi mais au lieu de prendre 20,36 comme sur excel j’ai 20,37 !
Sauf que c’est de la compta et ça doit être identique. Une idée de comment résoudre cela ?
merci !
Bonjour,
merci pour le commentaire. Comment les valeurs ont-elles été fixées à deux décimales ? Je viens d’essayer en utilisant la fonction réduire les décimales et avec un arrondi. Dans les deux cas, j’ai bien 20,36.
Bonne journée !
Bonjour !
merci de ton retour,
j’ai fait sur excel : clic droit, format de cellule, comptabilité, 2 décimales
sur word je n’ai rien fait hormis la formule mergfeld \##,00 »
est-ce correct ?
merci
Re-bonjour,
de rien. Effectivement en faisant comme ça j’ai le même problème. On voit qu’en utilisant le champ de fusion tel quel, on obtient 20,365, ce qui explique le 20,37 ensuite… Il semblerait que le format comptabilité transmet une valeur arrondie à 3 décimales.
À part changer de méthode pour obtenir les deux décimales sur Excel je ne vois pas trop de solution, car la fonction ROUND dans le champ de fusion donnerait aussi 20,37, et même en arrondissant en dessous on aurait un problème pour d’autres valeurs…
Je ne vois que cette possibilité (modification depuis Excel ou ajout d’une colonne, éventuellement masquée ensuite). Si toutefois d’autres pensent à autre chose, je suis preneur.
Bonne journée !
Génial, merci ! Sur base de votre exemple, j’ai pu ajouter un séparateur de milliers à mes chiffres. Beaucoup plus joli.
De rien et merci pour le commentaire !
Bonjour,
Pour mon cas le format s’affiche avec 1 234,9 au lieu de 1 234,90. Il ne met pas le zéro derrière la première décimale. Merci pour votre aide
Bonjour,
merci pour le commentaire. Est-il possible d’avoir un exemple de fichier ?
Jérémy.
Bonjour,
J’ai ce type de problème pour un publipostage mais dans Publisher, pas dans Word. Savez-vous comment je pourrais le résoudre ?
Bonne journée !
Bonjour,
merci pour votre message. Le principe est le même je pense ? Insertion des champs de fusion avec le formatage indiqué.
Bonne journée,
Jérémy.
Bonjour,
J’ai intégré à ma formule # « # ##0,00 ». A la mise à jour de mon champs, les nombre s’affiche ,00 pour toutes les valeurs alors que dans mon tableur, certains ont des chiffres après la virgule qui ne sont pas 0. J’ai essayé de changer le format de cellule d’Excel sans résultat. Auriez-vous une solution ?
En vous remerciant.