Microsoft 365 nombre en lettres incomplet

  • Initiateur de la discussion Initiateur de la discussion phil66
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

phil66

XLDnaute Junior
Bonjour à tous,

J'ai récupéré une feuille avec laquelle une formule me traduit les nombres en lettres (et surtout au format "belge" 😉 ).
Par contre il y a un souci dans la formule car si j'ai bien la partie "entier" qui s'affiche en lettres, les décimales restent
en chiffres!

Exemple : € 714,15 devient : sept cent quatuorze euros et 15 centimes...

Qu'est-ce qui coince ?

Je joins le fichier en question.

Merci d'avance,

Phil
 

Pièces jointes

Hello

dans la fonction personalisée, la partie décimale n'est pas traduite en lettres...

il suffit de modifier la fonction comme ca:
VB:
Function NumText(Nombre As Currency, Optional Unité As String, Optional no_chiffres As Integer, Optional SousUnité As String) As String
Dim PartieEntière As Currency, PartieDécimal As Currency
Dim TxtEntier As String, TxtDécimal As String
PartieEntière = Int(Nombre)
TxtEntier = NumTextEntier(PartieEntière)
If no_chiffres > 0 Then
    PartieDécimal = (Nombre - PartieEntière) * 10 ^ no_chiffres
    TxtDécimal = NumTextEntier(PartieDécimal)
    'TxtDécimal = Format(PartieDécimal, String(no_chiffres, "0"))
End If
NumText = TxtEntier & Unité & " " & TxtDécimal & " " & SousUnité
End Function
 
Bonjour
avec ma fonction
en A1 j'ai 714,15
en B1 je met =NbToLettresFSB(A1;"beuro")
Regarde la pièce jointe 1175988
Bonjour Patrick,

Avec votre version, la "traduction" est erronée dès que l'on dépasse les centaines ( sur l'image en annexe j'ai modifié les 3 premières lignes de la feuille e pour exemple).

Ai-je loupé quelque chose ?

Merci d'avance

Phil
 

Pièces jointes

  • Erreur milliers.PNG
    Erreur milliers.PNG
    36.3 KB · Affichages: 74
Hello

dans la fonction personalisée, la partie décimale n'est pas traduite en lettres...

il suffit de modifier la fonction comme ca:
VB:
Function NumText(Nombre As Currency, Optional Unité As String, Optional no_chiffres As Integer, Optional SousUnité As String) As String
Dim PartieEntière As Currency, PartieDécimal As Currency
Dim TxtEntier As String, TxtDécimal As String
PartieEntière = Int(Nombre)
TxtEntier = NumTextEntier(PartieEntière)
If no_chiffres > 0 Then
    PartieDécimal = (Nombre - PartieEntière) * 10 ^ no_chiffres
    TxtDécimal = NumTextEntier(PartieDécimal)
    'TxtDécimal = Format(PartieDécimal, String(no_chiffres, "0"))
End If
NumText = TxtEntier & Unité & " " & TxtDécimal & " " & SousUnité
End Function
Bonjour Vgendron,

C'est parfait, ça marche !

Un grand merci 🙂

Phil
 
re
perso je me demande ce que vous faite avec mon fichier exemple
Regarde la pièce jointe 1176052
je redonne le fichier exemple au cas ou
Bonjour Patrick,

Désolé, mais même en prenant votre fichier exemple, sans rien modifier (je l'ai juste enregistré dans un dossier), j'ai des erreurs dès qu'on passe aux milliers (voir image).

Cordialement,

Philippe
 

Pièces jointes

  • Erreur fichier exemple.PNG
    Erreur fichier exemple.PNG
    35.7 KB · Affichages: 36
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour