convertir chiffrres en lettres

slazi69

XLDnaute Nouveau
Bonjour tout le monde

je suis nouveau
je sais que c'est une question qui a eteabordee maintes fois
mais j'ai un petit probleme comme tous les debutants dans visualbasic:
dans l'application Convertnumletter comment je peux changer la monnaie et le nombre de chiffres apres la virgule de 2 a trois
Je suis en Tunisie la monnaie c'est le DINAR et subdivise en 1000 millimes

merci a tous de votre aide
 

Lermiton

XLDnaute Nouveau
Re : convertir chiffrres en lettres

Bonjour tous.

Je ne saisis pas très bien ton problème, slazi69.

S'il s'agit de donner à des cellules d'une feuille un format de nombre avec 3 décimales et l'abrégé de la monnaie tunisienne, tu peux, après avoir sélectionné les cellules concernées, utiliser le menu de Excel "Format / Cellule", onglet "Nombre". Choisis la catégorie "Monétaire", définis à 3 le nombre de décimales et choisis "TND" dans la liste des symboles, puis cliques sur "OK"

Format.JPG

S'il s'agit de définir par une macro ce format de nombre pour toute la feuille active , tu peux écrire :
Code:
Sub FormatNombres()

    ActiveSheet.Cells.NumberFormat = "#,##0.000"" TND"";-#,##0.000"" TND"";0.000"" TND"""

End Sub

Bonne journée.
 

Pièces jointes

  • Format.JPG
    Format.JPG
    38.4 KB · Affichages: 2 568
  • Format.JPG
    Format.JPG
    38.4 KB · Affichages: 2 262
Dernière édition:

slazi69

XLDnaute Nouveau
Re : convertir chiffrres en lettres

bonjour
il s'agit de modifier la macro "Convertnumletter" afin qu'elle prenne en en cosideration 3 chiffres apres la vrgules lors de la conversion en lettres
ex: 1.234 en un dinars deux cent trente quatre millimes
et non en "un dinars vingt trois millimes comme actuellement"
et la je bloque
merci
 

youky(BJ)

XLDnaute Barbatruc
Re : convertir chiffrres en lettres

Bonjour,
Je viens de modifier ce fichier et l'ai peu testé
Bruno
 

Pièces jointes

  • dinar-chiffres-en-lettres.zip
    16.2 KB · Affichages: 1 435
  • dinar-chiffres-en-lettres.zip
    16.2 KB · Affichages: 1 380
  • dinar-chiffres-en-lettres.zip
    16.2 KB · Affichages: 1 481

youky(BJ)

XLDnaute Barbatruc
Re : convertir chiffrres en lettres

Merci du retour,
Je te joint un nouveau fichier car j'ai trouvé une erreur de conjugaison
dans les millimes j'avais oublié des conjugaisons ..exemple "deux cents trois" alors qu'il faut "deux cent trois" ..."cent"prend un S que si rien derrière
et j'avais laissé des "centimes" au lieu "millimes"
Voici
Bruno
 

Pièces jointes

  • dinar-chiffres-en-lettres.zip
    16.4 KB · Affichages: 706
  • dinar-chiffres-en-lettres.zip
    16.4 KB · Affichages: 588
  • dinar-chiffres-en-lettres.zip
    16.4 KB · Affichages: 601

Lermiton

XLDnaute Nouveau
Re : convertir chiffrres en lettres

Bonsoir tous.

Je vois que j'arrive un peu tard, mais puisque je l'ai fait au titre de la "gymnastique intellectuelle", j'envoie le fichier joint, dans lequel j'avoue ne pas avoir vérifié s'il respecte les conventions orthographiques (pluriel ou non, et trait d'union ou non ... ces règles changent tellement en fonction des sources que l'on consulte ...).

Pour l'adapter à des cas précis, il suffit de modifier les valeurs des constantes dans la fonction "NombreEnLettres", valeurs qui sont les suivantes dans mon fichier :
Code:
    Const NbDecimales As Byte = 2
Rem     constantes au singulier
    Const NomMilliardSingulier As String = "milliard"
    Const NomMillionSingulier As String = "million"
    Const NomMillierSingulier As String = "mille"
    Const NomMonnaieSingulier As String = "Euro"
    Const NomFractionSingulier As String = "Cent"
Rem     constantes au pluriel
    Const NomMilliardPluriel As String = "milliards"
    Const NomMillionPluriel As String = "millions"
    Const NomMillierPluriel As String = "mille"
    Const NomMonnaiePluriel As String = "Euros"
    Const NomFractionPluriel As String = "Cents"
Rem    Constantes de débit / crédit
    Const NomDebit As String = "DEBIT de : "
    Const NomCredit As String = "CREDIT de : "

Dans le cas de slazi69, je suggère d'écrire :
Code:
    Const NbDecimales As Byte = 3

    Const NomMonnaieSingulier As String = "Dinard Tunisien"
    Const NomFractionSingulier As String = "Millième"

    Const NomMonnaiePluriel As String = "Dinards Tunisiens"
    Const NomFractionPluriel As String = "Millièmes"

Et pour corriger ou modifier l'écriture en lettre des nombres, il suffit de corriger ce qui doit l'être dans la macro "Initialiser_Tables_des_Nombres"

Merci à tous de me signaler les bugs éventuels et les améliorations souhaitables, pour que mes méninges ne s'endorment pas dans la béatitude du "je crois que c'est bon, mon truc" ...

Bonne soirée.
 

Pièces jointes

  • Nombres en Lettres.zip
    27.4 KB · Affichages: 619

Lermiton

XLDnaute Nouveau
Re : convertir chiffrres en lettres

Bonjour à tous.

Dans mon fichier d'hier, je ne respectais pas les règles orthographiques, ce qui me chagrinait quand-même un peu.

J'envoie donc un fichier modifié et corrigé, qui s'appuie sur "Le Conjugueur":
(sans aller jusqu'à respecter les "recommandations de 1990" que je trouve un peu lourdes en traits-d'union ...) et que l'on peut facilement adapter à ses propres besoins.

Dans le cas de slazi69, il suffit d'apporter ces modifications suivantes :
- en tête du module :
Code:
    Const NbDecimales As Byte = 3
- dans la macro "Initialiser_Table_des_Noms" :
Code:
    TableNomsSingulier(0) = "Dinard Tunisien "     ' Nom de la monnaie OU du séparateur de décimales
    TableNomsSingulier(1) = "millième "  ' nom de la partie fractionnaire

    TableNomsPluriel(0) = "Dinards Tunisiens "     ' Nom de la monnaie OU du séparateur de décimales
    TableNomsPluriel(1) = "millièmes "  ' nom de la partie fractionnaire

Bonne journée.

PS ...
Question : pourquoi donc refaire ce qui existe déjà ?
Réponse : pour entretenir les méninges et retarder l'âge de la sénilité...
Et je reste preneur des remarques et critiques.
 

Pièces jointes

  • Nombres en Lettres_2.zip
    32.9 KB · Affichages: 455

excelinfo

XLDnaute Nouveau
Re : convertir chiffrres en lettres

Bonsoir tout le monde
j'ai un petit problème :
dans l'application Convertnumletter comment je peux récupérer les chiffres après la virgule (3 chiffres après la virgule sans les convertir en lettres)???
exemple:
3456,543 => trois mille quatre cent cinquante six dinar 543 millimes
merci a tous
 

R@chid

XLDnaute Barbatruc
Re : convertir chiffrres en lettres

Salut,
il y a le Morefunc a telecharger c'est gratis.
il contient une fonction NBTEXTE qui converti les chiffres en textes en plusieurs langues et en prenant en charge les unites en cas de singulier ou pluriel.
@ + +
Rachid
 

Discussions similaires

Réponses
116
Affichages
3 K

Statistiques des forums

Discussions
312 490
Messages
2 088 875
Membres
103 980
dernier inscrit
grandmasterflash38