Convertir un nombre en lettre

Bonjour,

J'utilise la fonction et j'ai trouvé deux erreurs de conversion que je n'arrive pas à résoudre;

La fonction convertit mal les nombres suivants :
80 000 000 ou 80 000 000 000 => quatre-vingt Millions (ou Milliards) d'Euros au lieu de quatre-vingts Millions (ou Milliards) d'Euros
200 000 000 ou 200 000 000 000 => deux cent Millions (ou Milliards) d'Euros au lieu de deux cents Millions (ou Milliards) d'Euros

Merci de l'aide apportée.
Gérard

4 réponses

  1. Un Replace(Replace(... ; "vingts M"; "vingt M") ; "cents M"; "cent M") ne suffirait pas ?
    1
    1. Bonjour et merci pour la réponse, mais cela ne répond pas à mon problème ... la fonction dont je parle est accessible ici:
      https://www.commentcamarche.net/faq/11100-vb6-net-vba-transformer-chiffres-en-lettre
      et je l'ai utilisée avec access 2007 pour m'en servir dans une procédure de gestion des clients et j'utilise cette fonction pour un reçu ou une facture, par exemple 200 euros (deux cents euros).
      Cette fonction marche très bien sauf les fautes d'orthographe citées. Les accords avec vingt et cent sont spéciaux mais j'imagine qu'il est possible de corriger ces fautes; j'ai pu corriger une faute avec vingt mais là je sèche... de plus il y a un souci avec les décimales mais là je verrai après.
      Merci encore de l'aide apportée.
      Gérard
      1
      1. Je ne m'y connais pas trop en VB, mais je vais tenter.

        If e(1) = 1 Then
        strBuff = "cent " & strBuff
        ElseIf e(1) >= 1 Then 'pluriel
        If strBuff = "" Then 'avec rien derrière
        strBuff = Unite(e(1)) & "cents "
        Else 'avec quelque chose derrière
        strBuff = Unite(e(1)) & "cent " & strBuff
        End If
        End If

        Peut-être devrais-tu déplacer ton message dans le forum programmation.
        1
        1. Bonjour et merci encore pour la réponse ... malheureusement ça ne marche pas; j'essaie d'ajouter "millions" ou "milliards" ici et là sans trop savoir où pour faire en sorte que "deux cents millions" par exemple fasse que cent ait bien son "s" ... puisque la règle veut que pour "deux cent mille" cent n'a pas de "s" justement d'où la difficulté.
          Cordialement
          1