Chiffre en lettre

bouchra -  
JvDo Messages postés 2012 Statut Membre -
Bonjour,

comment transformer sur Excel un montant en chiffre en lettre automatiquement

remerciements
A voir également:

5 réponses

yofa Messages postés 1245 Statut Membre 207
 
Télécharger numtext.xla (module complémentaire)
ouvrir exel
Menu <Outils>,<Macros complémentaires>
cocher "Fonctions perso_NumText"
Par exemple un nombre se trouve dans la cellule a1.
Pour avoir le nombre en toutes lettres dans la cellule a2, il faut mettre dans a2 la formule :
=numtext(a1;0)
2
Lentzouille2 Messages postés 1000 Statut Membre 39
 
Avec une macro ;)
0
yofa Messages postés 1245 Statut Membre 207
 
Bonjour,

C'est a dire 2102 deux mille cent deux...?
0
Lentzouille2 Messages postés 1000 Statut Membre 39
 
Function TxtClasse(Classe As Integer, no_Classe As Integer) As String
Dim Centaine As Integer, Dizaine As Integer, Unité As Integer, Unités2Chiffres As Integer
Dim TxtCentaines As String, TxtDizaines As String, TxtUnités As String
Dim TClasses As Variant, Tdizaines As Variant, TUnités As Variant
TClasses = Array("", "MILLE", "MILLION", "MILLIARD", "billion")
Tdizaines = Array("", "", "VINGT", "TRENTE", "QUARANTE", "CINQUANTE", "SOIXANTE", "SOIXANTE", "QUATRE-VINGT", "QUATRE VINGT")
TUnités = Array("", "UN", "DEUX", "TROIS", "QUATRE", "CINQ", "SIX", "SEPT", "HUIT", "NEUF", _
"DIX", "ONZE", "DOUZE", "TREIZE", "QUATORZE", "QUINZE", "SEIZE", "DIX-SEPT", "DIX-HUIT", "DIX-NEUF")
   If Classe = 0 Then Exit Function
    ' Pas de un pour mille
    If Classe = 1 And no_Classe = 1 Then
        TxtClasse = "MILLE "
        Exit Function
    End If
    '
    Centaine = Classe \ 100
    Unités2Chiffres = Classe Mod 100
    Dizaine = Unités2Chiffres \ 10
    Unité = Unités2Chiffres Mod 10
    ' Les centaines -----
    If Centaine = 1 Then
            TxtCentaines = "CENT "
    ElseIf Centaine > 1 Then
            TxtCentaines = TUnités(Centaine) & " CENT" & IIf(Unités2Chiffres > 0, " ", " ")
    End If
    ' Les dizaines ------
    TxtDizaines = Tdizaines(Dizaine)
    If Unité = 1 And Dizaine > 1 And Dizaine < 8 Then
        TxtDizaines = TxtDizaines & "-ET"
    End If
    If Dizaine = 1 Or Dizaine = 7 Or Dizaine = 9 Then
        Unité = Unité + 10: Dizaine = 0
    End If
    TxtDizaines = TxtDizaines & IIf(Unités2Chiffres = 80, "S", "")
    If Unités2Chiffres > 19 And Unité > 0 Then
            TxtDizaines = TxtDizaines & "-"
    ElseIf Dizaine > 0 Then
            TxtDizaines = TxtDizaines & " "
    End If
    ' Les unités -------- Espace si unité > 0
    TxtUnités = TUnités(Unité) & IIf(Unité > 0, " ", "")
    ' La classe --------- un s sauf pour mille
    TxtClasse = TClasses(no_Classe) & IIf(no_Classe > 1 And Classe > 1, "S", "") & IIf(no_Classe > 0, " ", "")
    ' Résultat ----------
    TxtClasse = TxtCentaines & TxtDizaines & TxtUnités & TxtClasse
End Function
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
JvDo Messages postés 2012 Statut Membre 859
 
Bonsoir à tous

Une autre possibilité pour cette transformation en lettres, sans macro ni formule apparente.
https://www.cjoint.com/?ALDqFTv2kpF

Cordialement
0