top of page
  • Photo du rédacteurSakina

Écrire les nombres en toutes lettres dans un tableur sans macro

Étonnemment, il n'existe pas de formule sous Excel ou Calc permettant de convertir un nombre écrit en chiffres en un nombre écrit en toutes lettres. Une rapide recherche sur un moteur de recherches montre que la solution la plus indiquée est de créer une formule ad hoc à l'aide d'une macro. Or, il faut pour cela savoir gérer des macros, ce qui peut représenter un petit défi en soi et créer des problèmes de compatibilité par la suite.


Le fichier proposé ici résout le problème sans avoir recours à une macro. Il suffira de copier un onglet, quitte à le masquer par la suite, et la conversion se fera facilement. Il est disponible en format Excel et en format Calc.


Version Excel :



Version Calc :



Pour prendre en compte toutes les règles d'orthographe liées aux nombres, la mention des euros et des centimes au singulier ou au pluriel, la possibilité d'avoir des chiffres après la virgule ou pas ainsi que la possibilité que le nombre soit positif ou négatif, la formule est, nécessairement, assez lourde :



La méthode utilisée est un peu étonnante de prime abord : les nombres de la colonne B sont séquencés en unités, milliers, millions, milliards et centimes. Ils sont ensuite convertis en chaînes de trois caractères (deux pour les centimes) puis traités à l'aide d'une recherche verticale. Au cas où le nombre ne contiendrait pas de milliards, par exemple, la formule considère cette absence de données comme une erreur et réagit en n'indiquant rien. Cette astuce permet de limiter le nombre de conditions et d'alléger la formule. Le résultat apparaît dans la colonne D.


Néanmoins, il pourrait être délicat de manipuler cette formule, qui reste assez conséquente, et l'utilisation proposée consiste donc à copier/coller l'onglet entier dans le fichier de destination pour ensuite effectuer des renvois avec cet onglet. Pour cela, ouvrez les deux fichiers et faites un clic droit sur l'onglet "Convertisseur". Sélectionnez "Déplacer/copier la feuille..." sous Calc ou "Déplacer ou copier" sous Excel.



Sélectionnez le fichier de destination dans le menu déroulant, qui vous propose tous les fichiers ouverts au moment où vous réalisez la manipulation (ou bien un nouveau document, comme dans l'exemple ci-dessous).



Une fois l'onglet hébergé sur le fichier, et afin de limiter le nombre de manipulations techniques, il faudra que la colonne B soit remplie par un renvoi à la cellule qui héberge le nombre à convertir. Pour ce faire, allez dans la cellule désirée et tapez "=" puis cliquez sur la cellule désirée. Dans l'exemple donné dans le fichier, on désire obtenir la conversion du total, qui est calculé en cellule C13 :



On effectue donc un renvoi vers la cellule C13 de cet onglet et la conversion se fait en colonne D :



Ensuite, il ne restera plus qu'à intégrer le résultat en toutes lettres dans la cellule de destination, sans toucher à la formule. Ici, le résultat est en cellule D2 :



Il est possible de mettre ensuite le résultat en majuscules avec la formule "Majuscule". Ici, il suffirait d'intégrer le résultat en écrivant :

=MAJUSCULE(Convertisseur.D2)

Voilà, vous savez tout !


Les problèmes liés à la virgule flottante, habituels dans un tableur, sont ici pris en charge. En revanche, les limites du fichier sont celles-ci :

  • il va jusqu'à 999 milliards 999 millions 999 mille 999 euros et 99 centimes ;

  • il intègre les nombres en tant qu'euros, pour que ça ne soit pas le cas, il faudra modifier la formule ;

  • si le nombre entré en colonne B n'est pas correctement entré, par exemple si on entre un espace, la formule ne fonctionnera pas ;

  • seules deux décimales sont prises en charge, puisque la formule est conçue pour des centimes ;

  • l'orthographe appliquée aux nombres est celle d'avant la réforme de 1990, puisque celle-ci propose des possibilités supplémentaires, sans imposer une nouvelle norme ;

  • les nombres négatifs sont notés sans mention de leur négativité.


Pour aller plus loin, il ne faut pas hésiter, comme dans l'exemple donné, à concaténer le résultat dans une phrase qui lui donne plus de sens. La concaténation peut se faire à l'aide de la formule "Concatener" ou, plus simplement, à l'aide de l'opérateur "&". On pourrait par exemple mettre en place une formule conditionnelle pour que la phrase s'adapte au résultat. Par exemple :

=SI(C13 < 0 ; 
"Vous êtes bénéficiaire de la somme de " & (Convertisseur.D2) ; 
"Vous êtes redevable de la somme de " & (Convertisseur.D2))

Cette formule conditionnelle permet d'adapter le résultat, selon que le total est positif ou négatif. À vous maintenant de créer les adaptations les plus pertinentes pour vous, au plus près de vos besoins.

Posts récents

Voir tout

Comments


bottom of page