Problème de formats des nombres après publipostage : trop de décimales

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.

Problème nombre de décimales publipostage Word Excel

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.

Problème de formats des nombres lors du publipostage

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…

Stockage des nombres sous forme de flottants

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 !

35 réflexions au sujet de “Problème de formats des nombres après publipostage : trop de décimales”

  1. 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.

    Répondre
  2. 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

    Répondre
    • 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 !

      Répondre
  3. 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.

    Répondre
  4. 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

    Répondre
    • 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.

      Répondre
      • 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 ^^

        Répondre
  5. 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

    Répondre
      • 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.

        Répondre
          • 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?

  6. 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.

    Répondre
  7. 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

    Répondre
  8. 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

    Répondre
  9. 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.

    Répondre
  10. 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

    Répondre
  11. 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

    Répondre

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.