Nblettre.xla excel 2019

CroquesDePommes.AS Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
NonoM45 Messages postés 771 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour,

j'aimerais change le total d'un facture en Euro  en lettre comme le demande mon client . Je n'y arrive pas a chaque fois je le tape en texte à chaque fois

J'ai ben chargé la version Nblettre.xla j'ai Excel 2019 . Mais cela ne fonctionne pas dans la cellule j'ai pourtant utilisé =SpellNumber(I36) il s'affiche dièse Nom. Ou est mon erreur 

merci de vos réponses

9
Windows / Chrome 130.0.0.0

A voir également:

5 réponses

NonoM45 Messages postés 771 Date d'inscription   Statut Membre Dernière intervention  
 

Bonjour,

Quand vous dites "J'ai bien chargé la version Nblettre.xla" qu'entendez-vous par là ?
Le lien que vous avez donné, se met en alerte à cause du certificat, ou avez-vous téléchargé le fichier ?

Il faut l'ajouter à Excel en passant par l'onglet Développeur, puis "Compléments"
Est-ce bien ce que vous avez fait ?

A+

0
danielc0 Messages postés 1856 Date d'inscription   Statut Membre Dernière intervention   229
 

Bonjour,

Si tu as bien installé le complément, essaie :

=ConvNumberLetter(I36;1)

Daniel


0
CroquesDePommes.AS Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 

Bonjour, merci de votre réponse 

Je n'es pas ce complètement, de quoi s'agit t il ? Ou le chercher et le positionner?

encore merci de votre aide . 

Je suis un retraité novice dans Excel qui tient le secrétariat de notre association.  

0
brucine Messages postés 21620 Date d'inscription   Statut Membre Dernière intervention   3 407
 

Bonjour,

Il existe plusieurs solutions.

Le complément NbLettre.xla se trouve par exemple ici avec son mode d'emploi, il souffre d'un certain nombre d'erreurs "d'accord"" des valeurs.
 

http://www.formettic.be/Module3/Excel-Calc/web/co/0343-ConvNumberLetter.html
 

Les alternatives sont de créer une macro personnalisée (donc dans un fichier xlsm) ou bien d'utiliser une formule, voir par exemple ici:

https://forums.commentcamarche.net/forum/affich-37516117-convertir-des-chiffres-en-lettres-avec-une-unique-formule

0
danielc0 Messages postés 1856 Date d'inscription   Statut Membre Dernière intervention   229
 

En complément du post de brucine, si tu as un problème pour dézipper le fichier, voici un lien pour récupérer le fichier nblettre.xla :

https://www.dropbox.com/scl/fi/rpgo18r15oflwe7josdbt/NbLettre.xla?rlkey=qy7g4q47f53dzsbl0b0vss0t2&st=3pmgxcq7&dl=0

Daniel


0
brucine Messages postés 21620 Date d'inscription   Statut Membre Dernière intervention   3 407
 

Bonjour,

à toutes fins utiles, formule prête à l'emploi.

Elle présente l'inconvénient de ne pas être très intuitive à écrire mais l'avantage qu'on peut la personnaliser pour la devise et respecter les règles en matière de trait d'union et de pluriel.

https://www.cjoint.com/c/NKpjCM1bFnF

0
brucine Messages postés 21620 Date d'inscription   Statut Membre Dernière intervention   3 407 > brucine Messages postés 21620 Date d'inscription   Statut Membre Dernière intervention  
 

En dehors de la devise il faut bien sûr considérer la langue à l'intérieur de cette même devise, fût-elle francophone; par exemple nos amis belges connaissent bien l'euro, mais nonante et pas quatre-vingt-dix ce qui amènerait à réécrire en conséquence.

0

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

Posez votre question
NonoM45 Messages postés 771 Date d'inscription   Statut Membre Dernière intervention  
 

Bonjour,

Pour toutes celles ou tous ceux qui auraient un doute avec ces fichiers téléchargeables, voici simplement le code d'une fonction que j'utilise

  Dim a As Variant, gros As Variant, Négatif As Boolean
  a = Array("", "un", "deux", "trois", "quatre", "cinq", "six", "sept", _
            "huit", "neuf", "dix", "onze", "douze", "treize", "quatorze", "quinze", "seize", "dix sept", _
            "dix huit", "dix neuf", "vingt", "vingt et un", "vingt-deux", "vingt-trois", "vingt-quatre", _
            "vingt-cinq", "vingt-six", "vingt-sept", "vingt-huit", "vingt-neuf", "trente", "trente et un", _
            "trente-deux", "trente-trois", "trente-quatre", "trente-cinq", "trente-six", "trente-sept", _
            "trente-huit", "trente-neuf", "quarante", "quarante et un", "quarante-deux", "quarante-trois", _
            "quarante-quatre", "quarante-cinq", "quarante-six", "quarante-sept", "quarante-huit", _
            "quarante-neuf", "cinquante", "cinquante et un", "cinquante-deux", "cinquante-trois", _
            "cinquante-quatre", "cinquante-cinq", "cinquante-six", "cinquante-sept", "cinquante-huit", _
            "cinquante-neuf", "soixante", "soixante et un", "soixante-deux", "soixante-trois", _
            "soixante-quatre", "soixante-cinq", "soixante-six", "soixante-sept", "soixante-huit", _
            "soixante-neuf", "soixante-dix", "soixante et onze", "soixante-douze", "soixante-treize", _
            "soixante-quatorze", "soixante-quinze", "soixante-seize", "soixante-dix-sept", _
            "soixante-dix-huit", "soixante-dix-neuf", "quatre-vingts", "quatre-vingt-un", _
            "quatre-vingt-deux", "quatre-vingt-trois", "quatre-vingt-quatre", "quatre-vingt-cinq", _
            "quatre-vingt-six", "quatre-vingt-sept", "quatre-vingt-huit", "quatre-vingt-neuf", _
            "quatre-vingt-dix", "quatre-vingt-onze", "quatre-vingt-douze", "quatre-vingt-treize", _
            "quatre-vingt-quatorze", "quatre-vingt-quinze", "quatre-vingt-seize", "quatre-vingt-dix-sept", _
            "quatre-vingt-dix-huit", "quatre-vingt-dix-neuf")
  gros = Array("", "billions", "milliards", "millions", "mille", "Euros", "billion", _
               "milliard", "million", "mille", "Euro")
  Sp = Space(1)
  Chaine = "00000000000000"
  ' Vérifier si nombre négatif, si OUI prendre la valeur absolue
  Négatif = (Montant < 0)
  If Négatif Then Montant = Abs(Montant)
  ' Récupérer les centimes
  Centime = Montant * 100 - (Int(Montant) * 100)
  Montant = Trim(Str(Int(Montant))): Lg = Len(Montant)
  If Lg < 15 Then Chaine = Mid(Chaine, 1, (15 - Lg)) Else Chaine = ""
  Montant = Chaine + Montant
  'billions au centaines
  Gp = 1
  For K = 1 To 5
    x = Mid(Montant, Gp, 1): c = a(Val(x))
    x = Mid(Montant, Gp + 1, 2): d = a(Val(x))
    If K = 5 Then
      If t2 <> "" And c & d = "" Then mydz = "Euros" & Sp: GoTo fin
      If t <> "" And c = "" And d = "un" Then mydz = "un Euros" & Sp: GoTo fin
      If t <> "" And t2 = "" And c & d = "" Then mydz = "d'Euros" & Sp: GoTo fin
      If t & c & d = "" Then myct = "": mydz = "": GoTo fin
    End If
    If c & d = "" Then GoTo fin
    If d = "" And c <> "" And c <> "un" Then mydz = c & Sp & "cents " & gros(K) & Sp: GoTo fin
    If d = "" And c = "un" Then mydz = "cent " & gros(K) & Sp: GoTo fin
    If d = "un" And c = "" Then myct = IIf(K = 4, gros(K) & Sp, "un " & gros(K + 5) & Sp): GoTo fin
    If d <> "" And c = "un" Then mydz = "cent" & Sp
    If d <> "" And c <> "" And c <> "un" Then mydz = c & Sp & "cent" + Sp
    myct = d & Sp & gros(K) & Sp
fin:
    t2 = mydz & myct
    t = t & mydz & myct
    mydz = "": myct = ""
    Gp = Gp + 3
  Next
  d = a(Centime)
  If t <> "" Then myct = IIf(Centime = 1, " centime", " centimes")
  If t = "" Then myct = IIf(Centime = 1, " centime d'Euro", " centimes d'Euro")
  If Centime = 0 Then d = "": myct = ""
  ' Renvoyer le résultat de la fonction
  NombreEnLettre = IIf(Négatif, "MOINS ", "") & UCase(t) & IIf(d <> "", "ET " & UCase(d & myct), "")
End Function

A mettre dans un module, le fichier est à enregistrer au format ".xlam"

Voilà

0