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 !

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

23 avis sur « Problème de formats des nombres après publipostage : trop de décimales »

  • 10 février 2021 à 18 h 20 min
    Permalien

    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
    • 11 mars 2021 à 9 h 40 min
      Permalien

      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.

      Répondre
  • 22 juin 2021 à 22 h 09 min
    Permalien

    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
    • 24 juin 2021 à 11 h 46 min
      Permalien

      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
  • 7 octobre 2021 à 9 h 38 min
    Permalien

    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
    • 7 octobre 2021 à 13 h 34 min
      Permalien

      Bonjour,
      merci pour le message. Vous devez appuyer sur « Alt + F9 » pour revenir au mode classique. Vous pourrez alors faire un aperçu.

      Répondre
  • 6 janvier 2022 à 14 h 04 min
    Permalien

    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
    • 6 janvier 2022 à 14 h 50 min
      Permalien

      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
      • 6 janvier 2022 à 15 h 14 min
        Permalien

        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
  • 25 février 2022 à 12 h 07 min
    Permalien

    Merci pour votre blog, c’est plus clair dans vos explications et ça changer la vie…. bureautique

    Répondre
  • 22 mars 2022 à 19 h 05 min
    Permalien

    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
      • 23 mars 2022 à 13 h 35 min
        Permalien

        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
        • 24 mars 2022 à 7 h 50 min
          Permalien

          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 % »}

          Répondre
          • 24 mars 2022 à 9 h 28 min
            Permalien

            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?

  • 27 juillet 2022 à 16 h 21 min
    Permalien

    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
  • 26 octobre 2022 à 11 h 40 min
    Permalien

    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
  • 21 novembre 2022 à 11 h 26 min
    Permalien

    Merci pour l’info ; c’est parfait

    Répondre

Répondre à Jérémy Tellier Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

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