Où trouver le fichier d'installation de Morefunc 2013 ? Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Avatar du membre
gloub
Membre impliqué
Membre impliqué
Messages : 1'132
Inscrit le : 17 juillet 2007
Version d'Excel : 2003 sur PC + 365 sur Mac

Message par gloub » 10 octobre 2016, 14:38

Bonjour le Forum,

Je souhaite pouvoir convertir des nombres en toutes lettres (1234 → "mille deux cent trente quatre").
Il semble que je doive télécharger Morefunc pour Excel 2013, mais tous les liens de téléchargement que je trouve sont périmés.

Quelqu'un sait-il où je peux me procurer ce fichier ?

Merci !!!
Avatar du membre
fred2406
Membre impliqué
Membre impliqué
Messages : 2'040
Appréciations reçues : 37
Inscrit le : 13 mai 2014
Version d'Excel : O365Pro-2019-2011MAC
Version de Calc : 6.3

Message par fred2406 » 10 octobre 2016, 14:48

Bonjour
Rachid l'avait mis en telechargement avec un lien Cjoint.com ici :
http://forum.excel-pratique.com/post473598.html#p473598
mais a priori cela fonctionne que sur du 32bits... marche pas en 64bits ...
fred
Je ne réponds pas aux M.P. non sollicités.
Ne pas oublier :
:btres:
Fred :O-O:
Avatar du membre
gloub
Membre impliqué
Membre impliqué
Messages : 1'132
Inscrit le : 17 juillet 2007
Version d'Excel : 2003 sur PC + 365 sur Mac

Message par gloub » 10 octobre 2016, 14:59

Merci pour ta réponse, mais padbol : je suis en 64-bits....
Avatar du membre
eriiic
Passionné d'Excel
Passionné d'Excel
Messages : 9'310
Appréciations reçues : 374
Inscrit le : 7 février 2010
Version d'Excel : 2010fr

Message par eriiic » 10 octobre 2016, 22:46

Bonjour,
Merci pour ta réponse, mais padbol : je suis en 64-bits...
Il faut tenir compte de la version d'excel (32 bits) et non de celle de windows qui peut être 64 bits.
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.
(les Shadoks)

En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
Avatar du membre
gloub
Membre impliqué
Membre impliqué
Messages : 1'132
Inscrit le : 17 juillet 2007
Version d'Excel : 2003 sur PC + 365 sur Mac

Message par gloub » 21 octobre 2016, 14:06

Bonjour,

J'ai téléchargé et installé Morefunc...mais il ne semble pas utilisable par Excel (en tous cas Morefunc n'apparait pas dans fenêtre "Insérer une fonction").

Que faire-je ?
Avatar du membre
grisan29
Membre impliqué
Membre impliqué
Messages : 1'264
Inscrit le : 26 janvier 2010
Version d'Excel : 2013 pro FR

Message par grisan29 » 22 octobre 2016, 16:46

bonjour a tous et toutes
gloub, comme indiqué tu mets le code dans un module standard
Function nBlettre_methode_globale(nombres As String, Optional ByVal sstr As String = "virgule", Optional ByVal finance As Boolean = False)
    Dim en_dec(2), unit1, unit10, ms, cms As Long, decs As Long, ex As Long, ddd As String, centi As String, e As Long, i As Long, a As Long, dix As Long
    Dim nombre As String, u As String, c As String, ct As String, et As String, ss As String
    unit1 = Array("", " Un", " Deux", " Trois", " Quatre", " Cinq", " Six", " Sept", " Huit", " Neuf", " Dix", " Onze", " Douze", " treize", " Quatorze", " Quinze", " Seize", " Dix-Sept", " Dix-Huit", " Dix-Neuf", " cent", " zéro")
    unit10 = Array("", " dix", " vingt", " trente", " quarante", " cinquante", " soixante", " soixante-dix", " quatre-vingt", " quatre-vingt-dix", " cent")
    ms = Array("", " sextillion", " Quintillion", " Quatrillion", " Trillion", " Billiard", " Billion", " milliard", " million", " mille", ""): cms = UBound(ms)
    decs = 0: nombres = Replace(nombres, ".", ","): en_dec(0) = Split(nombres, ",")(0): If InStr(nombres, ",") > 0 Then en_dec(1) = Split(nombres, ",")(1): decs = 1    'on separe le decimal de l'entier
    If Len(en_dec(0)) Mod 3 <> 0 Then en_dec(0) = Application.Rept("0", 3 - Len(en_dec(0)) Mod 3) & en_dec(0)    'on formate l'entier a 3 chiffre par tranche
    If decs = 1 Then en_dec(1) = Right("00" & Round(Val("0." & en_dec(1)), 2) * 100, 3)  ' NOUVELLE METHODE POUR ADAPTER LE DECIMAL on formate a 3 chiffres
    ex = cms - (Len(en_dec(0)) / 3) + 1    ' index de point de depart des expressions dans l'array ms
    ddd = IIF(Val(en_dec(0)) > 999000 And Val(Right(en_dec(0), 6)) = 0, IIF("aAeEiIoOuUyY" Like "*" & Left(sstr, 1) & "*", " d' ", " de"), " ")
    centi = IIF(sstr <> "dollar", " centime", " cent")
    sstr = IIF(Val(en_dec(0)) > 1, sstr & "s", sstr)
    If decs = 1 Then centi = IIF(Val(en_dec(1)) > 1, centi & "s", centi)
    For e = 0 To decs
        For i = 1 To Len(en_dec(e)) Step 3
            a = ex + Round(i / 3)    'position actuelle de ms
            nombre = Mid(en_dec(e), i, 3)    ' la tranche
            dix = Mid(nombre, 2, 1): u = Right(nombre, 1): c = Left(nombre, 1): If c > 1 Then c = c: ct = unit1(20) & IIF(Val(dix & u) > 0, "", "s") Else: ct = "": If c = 1 Then c = 20
            If dix = 1 Or dix = 7 Or dix = 9 And Right(u, 1) > 0 Then dix = dix - 1: u = u + 10   'on corrige le 1,7,9
            If dix > 1 And dix <> 8 And Right(u, 1) = 1 Then et = " et" Else: If dix = 0 Or u = 0 Then et = "" Else et = "-"  ' on accorde de 1 a 99
 
            If u = 0 Then If dix = 8 Then If ms(a) = " mille" Then et = "" Else et = "s"     'le s a quatre-vingt tout seul
 
            If nombre = 0 And Len(en_dec(0)) = 3 Then u = 21: dix = 0    ' le zéro si l'entier vaut 0 tout simplement
            If nombre = 0 And i <> 1 Then a = 0
            If nombre = 1 And i = 1 And a = cms - 1 Then u = 0
            If e = 0 And nombre > 1 And a < cms - 1 Then ss = "s" Else ss = ""
            nBlettre_methode_globale = nBlettre_methode_globale & Replace(unit1(c) & ct & unit10(dix) & et & unit1(u), "- ", "-") & IIF(e = 0, ms(a), "") & ss
        Next i
        If finance = False Then
            nBlettre_methode_globale = nBlettre_methode_globale & IIF(e = 0 And decs = 1, " virgule ", "")
        Else
            nBlettre_methode_globale = nBlettre_methode_globale & IIF(e = 0 And decs = 1, ddd & " " & sstr & " et ", IIF(decs = 0, " " & sstr, "")) & IIF(e = 1, centi, "")
        End If
    Next e
End Function
et tu rajoutes la 2ème partie dans le même module qui le choix de la monnaie
Sub tes2()
    Debug.Print nBlettre_methode_globale(256354.2153, "euro", True)             ' euro
    Debug.Print nBlettre_methode_globale(10000000.2153, "euro", True)           ' euro
    'ndebug.Print Blettre_methode_globale(10000000.2153, "Dirham", True)       ' dirham
    'Debug.Print nBlettre_methode_globale(10000000.2153, "dollar", True)         ' dollar
    'Debug.Print Blettre_methode_globale(1.1, "Dirham", True)                           ' dirham
   Debug.Print nBlettre_methode_globale(12563.2365)                                     ' pas de monnaie
   Debug.Print nBlettre_methode_globale(1.01)                                                ' pas de monnaie
End Sub
puis après tu mets ceci dans la cellule qui doit recevoir les chifres en lettres
=SI(A13=0;" ";nBlettre_methode_globale((A13);"euro";1))
et tu peux changer de cellule comme tu veux et si elle est nommé lui mettre son nom
je te prépare un exemple et je reviens
testchiffrelettre.xlsm
(21.19 Kio) Téléchargé 93 fois
Avatar du membre
gloub
Membre impliqué
Membre impliqué
Messages : 1'132
Inscrit le : 17 juillet 2007
Version d'Excel : 2003 sur PC + 365 sur Mac

Message par gloub » 8 novembre 2016, 16:36

Bonjour,

Désolé d'avoir tardé à te répondre, mais merci beaucoup, c'est super pratique.


PS : je ne sais pas qui a développé cette fonction, mais je vois 2 petites améliorations à y apporter :
1/ supprimer l'espace initial dans le texte résultat
2/ éviter les espaces doubles ou triples dans le texte résultat
Mais bon, déjà tel quel c'est super !
Avatar du membre
grisan29
Membre impliqué
Membre impliqué
Messages : 1'264
Inscrit le : 26 janvier 2010
Version d'Excel : 2013 pro FR

Message par grisan29 » 8 novembre 2016, 23:40

Bonsoir Gloup et le forum
cette fonction vient des contributions de dvp mis en ligne par Patricktoulon
je ne vois pas où il y aurais un espace de trop, voici un aperçu d'un montant
chiflettre.jpg
Modifié en dernier par grisan29 le 8 novembre 2016, 23:45, modifié 1 fois.
Avatar du membre
gloub
Membre impliqué
Membre impliqué
Messages : 1'132
Inscrit le : 17 juillet 2007
Version d'Excel : 2003 sur PC + 365 sur Mac

Message par gloub » 8 novembre 2016, 23:44

Je le fais de ce pas, merci !!!
Avatar du membre
grisan29
Membre impliqué
Membre impliqué
Messages : 1'264
Inscrit le : 26 janvier 2010
Version d'Excel : 2013 pro FR

Message par grisan29 » 8 novembre 2016, 23:59

gloub
tu as répondu quand je modifiais mon post pour mettre l'image
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message