Chiffre en lettre

bouchra -  
JvDo Messages postés 1924 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

comment transformer sur Excel un montant en chiffre en lettre automatiquement

remerciements

5 réponses

  1. 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
  2. Lentzouille2 Messages postés 1000 Statut Membre 39
     
    Avec une macro ;)
    0
  3. yofa Messages postés 1245 Statut Membre 207
     
    Bonjour,

    C'est a dire 2102 deux mille cent deux...?
    0
  4. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. JvDo Messages postés 1924 Date d'inscription   Statut Membre Dernière intervention   859
     
    Bonsoir à tous

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

    Cordialement
    0