Nblettre.xla

Dan -  
ccm81 Messages postés 11033 Statut Membre -
Bonjour,
Je souhaite télécharger cette macro.
Mon problème, tous les fichiers trouvés sont bloqués soit par Bitdefender ou par Malwarebytes.
Quelqu'on peut il me donner un lien qui est sur ?
Merci d'avance.

Configuration: Windows / Edge 91.0.864.71

10 réponses

  1. Dan
     
    Elle "traduit" en lettres les chiffres.
    Bav.
    0
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Voir le lien plus haut

    Cdlmnt
    0
  3. Dan
     
    C'est à dire ?
    0
    1. ccm81 Messages postés 11033 Statut Membre 2 434
       
      Tu cliques sur le lien pour telecharger un fichier excel
      0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Macro à copier dans un module général
    Option Explicit

    Function chiffrelettre(s)
    Dim a As Variant, gros As Variant, sp As String, chaine As String, centime As String
    Dim LP As Long, Lg As Long, gp As Long, k As Long, x As String, t As String
    Dim d As String, c As String, t2 As String, mydz As String, myct As String
    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"
    centime = s * 100 - (Int(s) * 100)
    s = Str(Int(s))
    Lg = Len(s) - 1
    s = Right(s, Lg)
    Lg = Len(s)
    If Lg < 15 Then chaine = Mid(chaine, 1, (15 - Lg)) Else chaine = ""
    s = chaine + s
    'billions au centaines
    gp = 1
    For k = 1 To 5
      x = Mid(s, gp, 1)
      c = a(Val(x))
      x = Mid(s, 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 k
    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 = ""
    chiffrelettre = t & d & myct
    End Function

    Cdlmnt
    0
  6. Dan
     
    ok, mais vous entendez quoi par module général ?
    0
  7. brucine Messages postés 24849 Date d'inscription   Statut Membre Dernière intervention   4 170
     
    Bonjour,

    Il n'est pas documenté que Bitdefender bloque les macros Office, se contentant de mettre en garde...et parfois de carrément bloquer Excel en entier, ce qui est stupide.

    Il est plus vraisemblable que Malware bytes puisse le faire, mais tout logiciel de protection sérieux doit donner le choix final à l'utilisateur.

    Je n'utilise ni l'un, ni l'autre, j'ai fait quelques expériences sur plusieurs sites, Ublock m'a mis en garde sur certains d'entre eux (mais pas interdit), mon logiciel de sécurité n'a pas réagi.

    Aucune réaction de qui que ce soit par contre ici:
    http://gerard.g.pagesperso-orange.fr/logexl_05.htm

    Bien sûr, les macros sont désactivées par défaut dans Excel et à juste raison, mais c'est une autre question.

    Moralité, si ces logiciels de sécurité ne te laissent pas maître à bord, il faut en changer pour de plus sérieux...
    0
  8. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Alt-F11 pour accéder au code
    Insertion/Module pour créer le Module 1
    Coller tout le code
    Retour dans la feuille
    La fonction personnalisée chiffrelettre(cellule_contenant_le_nombre)
    s'utilisera comme une fonction excel
    Et si tu es sous une version d'excel à partir de 2007, enregistres le fichier avec le type .xlsm (Fichier/enregistrer sous/Type .... prenant en compte les macros

    Cdlmnt
    0
    1. ed73
       
      Superbe, ça m'a bien servi, merci ccm81
      0
  9. ccm81 Messages postés 11033 Statut Membre 2 434
     
    De rien

    Si c'est OK, merci de mettre le sujet à Résolu (en haut à droite dans ton premier post)

    Bonne journée
    0