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 !

43 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
  12. 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 ?

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

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

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

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

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

          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.