Discussion: Besoins de testeurs

  1. #1
    Expert éminent sénior
    Avatar de patricktoulon
    Profil pro
    Inscrit en
    avril 2009
    Messages
    10 133
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Secteur : Bâtiment

    Informations forums :
    Inscription : avril 2009
    Messages : 10 133
    Points : 16 081
    Points
    16 081
    Billets dans le blog
    1

    Par défaut Besoins de testeurs

    Bonjour a tous

    j'ai proposé il y a un moment de cela, une fonction assez compact qui avais pour but de convertir les nombres en toutes lettres en Français dans les contributions .

    après plusieurs tests par divers membres certaines petites coquilles avaent fait leur apparition ,celles ci avait été corrigées

    j'ai eu envie de faire la même chose mais en anglais

    il faut maintenant la tester dans tout les sens

    j'ai un soucis avec l'array des mesures
    en effet la traduction des unités( mille,milliard,ect....) me parait bizarre sur ggogle translate si quelqu'un connait la traduction de sur!!
    je prends

    un exemple de bizarerie milliard se dit billion en anglais sauf que billion est l'unité de mesure supérieure a milliard en Français

    maintenant testons avec une formule

    exemple

    =SI(A2<>0;Nombres_En_Lettres_US(A2;"Dollar");"")
    testons en VBA

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub test()
        Debug.Print Nombres_En_Lettres_US(5381236.34, "Dollar")
        Debug.Print Nombres_En_Lettres_US(1, "Dollar")
        Debug.Print Nombres_En_Lettres_US(101, "Dollar")
        Debug.Print Nombres_En_Lettres_US(312)
        Debug.Print Nombres_En_Lettres_US(1536.108)
        Debug.Print Nombres_En_Lettres_US(338.246)
        Debug.Print Nombres_En_Lettres_US(999999, "Dollar")
        Debug.Print Nombres_En_Lettres_US(312.36, "Dollar")
        Debug.Print Nombres_En_Lettres_US(1000000000, "Dollar")
        Debug.Print Nombres_En_Lettres_US(1000000338, "Dollar")
    End Sub
    et enfin la fonction
    j'ai relativement simplifié par rapport a la version française (certaines nuances gramaticales de notre chere langue n'existe pas en anglais). j'ai même pas eu besoins de la recursivité
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    Option Explicit
     
    Public Function Nombres_En_Lettres_US(Nombre As String, Optional monaie As String = ",")
        Dim Unit1, Unit10, Ms, dec, i#, x#, a#, N1$, N2$, N3$, NinT, Part$, NbL$, tabl, N#, T#, unité$
        Unit1 = Array("", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Height", "Nine", "Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Heighteen", "Nineteen")
        Unit10 = Array("", "Ten", "Twenty", "Thirty", "Forty", "Fifty ", "Sixty", "Seventy", "Eighty", "Ninety", "Hundred")
        Ms = Array("", "quadrillion", "trillion", "Billion", "Million", "Thousand", ""):
        dec = Split(Replace(Nombre, ".", ","), ",")
        If UBound(dec) > 0 Then dec(1) = Right("00" & Round(Val("0." & dec(1)), 2) * 100, 3)
        If monaie = "," And UBound(dec) = 0 Then monaie = ""
        monaie = IIf(monaie <> "," And monaie <> "" And Val(dec(0)) > 1, monaie & "s", monaie)
        For i = 0 To UBound(dec)
            If Len(dec(i)) Mod 3 <> 0 Then dec(i) = Application.Rept("0", 3 - Len(dec(i)) Mod 3) & dec(i)
            For N = 1 To Len(dec(i)) Step 3
                Part = Mid(dec(i), N, 3):
     
                N1 = Val(Mid(Part, 1, 1)): N2 = Mid(Part, 2, 1): N3 = Mid(Part, 3, 1): NinT = Mid(Part, 2, 2)
                If NinT > 10 And NinT < 20 Then N2 = 0: N3 = N3 + 10
                NbL = NbL & Unit1(N1) & IIf(N1 <> 0, " hundred ", "")
                NbL = NbL & Unit10(N2) & IIf(N3 <> 0 And N2 <> 0, "-", IIf(Left(Part, 2) = "10" And N3 = 1, " and ", " "))
                NbL = NbL & Unit1(N3) & " "
                NbL = NbL & Chr(1)
            Next
            If i = 0 Then
                tabl = Split(NbL, Chr(1))
                a = UBound(Ms) - UBound(tabl) + 1
                For T = 0 To UBound(tabl) - 1
                    If Trim(tabl(T)) <> "" Then unité = Ms(a + x) Else unité = ""
                    tabl(T) = tabl(T) & unité & IIf(unité <> "" And Trim(tabl(T)) <> "One" And tabl(T) <> "", "s", "")
                    x = x + 1
                Next
                NbL = Join(tabl, " ") & monaie
                NbL = NbL & IIf(UBound(dec) > 0 And monaie <> ",", " & ", "")
            End If
        Next
        Nombres_En_Lettres_US = Trim(Replace(Replace(NbL, "   ", ""), "  ", " "))
    End Function
    voila testez et donnez moi les coquilles si il y a
    merci a tous ceux qui voudrons bien tester
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : résolu: ça peut servir aux autres
    et n'oublie pas de voter

  2. #2
    Responsable
    Office & Excel

    Avatar de Pierre Fauconnier
    Homme Profil pro
    Formateur et développeur informatique indépendant
    Inscrit en
    novembre 2003
    Messages
    10 804
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur informatique indépendant
    Secteur : Enseignement

    Informations forums :
    Inscription : novembre 2003
    Messages : 10 804
    Points : 27 053
    Points
    27 053
    Billets dans le blog
    4

    Par défaut

    Variable non définie sur For n = 1 To Len(dec(i)) Step 3 et sur For t = 0 To UBound(tabl) - 1:

    Tu n'as pas rendu Option Explicit obligatoire dans les options VBE? Tu me fais vraiment peur, là!!. Comment arrives-tu à coder sans ça?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Vous souhaitez rédiger pour DVP? Contactez-moi
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    Vous avez apprécié l'intervention => Merci pour le
    ---------------

  3. #3
    Expert éminent sénior
    Avatar de patricktoulon
    Profil pro
    Inscrit en
    avril 2009
    Messages
    10 133
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Secteur : Bâtiment

    Informations forums :
    Inscription : avril 2009
    Messages : 10 133
    Points : 16 081
    Points
    16 081
    Billets dans le blog
    1

    Par défaut re

    re
    Bonjour pierre
    oui effectivement variable N et T non déclarée
    correction dans le post 1

    non il faut pas avoir peur je le fait en general a la fin quand mon principe est validé car tres souvent le faisant avant je me retrouve avec des variables qui servent plus a rien
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : résolu: ça peut servir aux autres
    et n'oublie pas de voter

  4. #4
    Responsable
    Office & Excel

    Avatar de Pierre Fauconnier
    Homme Profil pro
    Formateur et développeur informatique indépendant
    Inscrit en
    novembre 2003
    Messages
    10 804
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur informatique indépendant
    Secteur : Enseignement

    Informations forums :
    Inscription : novembre 2003
    Messages : 10 804
    Points : 27 053
    Points
    27 053
    Billets dans le blog
    4

    Par défaut

    Cela étant, je l'ai testée. Je ne suis pas un as en anglais, mais ça donne bien

    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Vous souhaitez rédiger pour DVP? Contactez-moi
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    Vous avez apprécié l'intervention => Merci pour le
    ---------------

  5. #5
    Expert éminent sénior
    Avatar de patricktoulon
    Profil pro
    Inscrit en
    avril 2009
    Messages
    10 133
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Secteur : Bâtiment

    Informations forums :
    Inscription : avril 2009
    Messages : 10 133
    Points : 16 081
    Points
    16 081
    Billets dans le blog
    1

    Par défaut re

    re
    oui j'en ai trouvé une de coquille il fallait pas aller chercher bien loin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Debug.Print Nombres_En_Lettres_US(101, "Dollar")
    One hundred One Dollar
    le"s" a "dollar"
    il m'a échappé celui la
    je cherche a corriger et reviens
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : résolu: ça peut servir aux autres
    et n'oublie pas de voter

  6. #6
    Expert éminent sénior
    Avatar de patricktoulon
    Profil pro
    Inscrit en
    avril 2009
    Messages
    10 133
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Secteur : Bâtiment

    Informations forums :
    Inscription : avril 2009
    Messages : 10 133
    Points : 16 081
    Points
    16 081
    Billets dans le blog
    1

    Par défaut re

    corrigé dans le post 1

    ma question sur l'array ms reste toujours d'actualité
    a savoir le même en anglais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ms = Array("", " sextillion", " Quintillion", " Quatrillion", " Trillion", " Billiard", " Billion", " milliard", " million", " mille", "")
    pour vous donner un aperçu de mon désarroi concernant cette traduction
    Nom : Capture.JPG
Affichages : 89
Taille : 127,1 Ko
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : résolu: ça peut servir aux autres
    et n'oublie pas de voter

  7. #7
    Membre émérite
    Homme Profil pro
    PAO
    Inscrit en
    octobre 2014
    Messages
    1 543
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : octobre 2014
    Messages : 1 543
    Points : 2 387
    Points
    2 387

    Par défaut

    Coucou Patrick,

    j'ai testé sur mon Mac, je viens de trouvé une coquille
    One Billionss Millions Thousands Dollars ne devrait pas être one billion million thousand Dollars
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Debug.Print Nombres_En_Lettres_US(1000000000, "Dollar")
    en tout cas il y a un s en trop pour le reste vérifie bien
    Cordialement

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Si cette réponse vous a aidé, n'hésitez pas à cliquer sur , dans le cas contraire ne faites rien , mais si vous êtes pas content -- Pensez à la Balise [ code][/code ] => Exemple

    Pensez à mettre une fois votre problème solutionné

  8. #8
    Expert éminent
    Homme Profil pro
    aucune
    Inscrit en
    avril 2016
    Messages
    3 748
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : avril 2016
    Messages : 3 748
    Points : 6 553
    Points
    6 553

    Par défaut

    Bonjour Patrick
    il faut toujours avoir les deux pieds sur le même navire -->>
    ou tu utilises l'anglais, ou tu utilises l'américain.
    "one hundred one" n'est pas anglais, mais américain. C'est "one hundred and one", en anglais.
    Mais si tu choisis entre anglais et américain, tout le reste doit alors correspondre au choix fait. Et aucun "panachage" ne serait acceptable.
    Ceci étant dit : je ne crois pas que ce forum soit dédié à l'apprentissage des langues.

    En anglais "britannique" (le classique, pas l'estropié quelquefois à la télévision), on n'écrit pas "one billion", mais "one thousand millions" et "one billion" = 1 000 000 000 000 et non 1 000 000 000

    EDIT : et c'est loin (très loin) d'être tout, y compris dans le seul choix de l'anglais UK.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro). Ne m'en proposez donc pas.

  9. #9
    Expert éminent
    Homme Profil pro
    aucune
    Inscrit en
    avril 2016
    Messages
    3 748
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : avril 2016
    Messages : 3 748
    Points : 6 553
    Points
    6 553

    Par défaut

    J'ajoute ceci, Patrick
    Il y a plus d'un an, je n'ai pas voulu aborder (en plus de tout le reste) une question pourtant primordiale : celle des usages admis en matière d'échelle courte et d'échelle longue, notamment en ce qui concerne la plupart des pays de l'UE (d'autres points me paraissaient plus importants et n'ont pas été non plus traités).
    Mais voilà : tu vas devoir maintenant (tu ne pourras pas l'éviter) te mettre également à l'étude de cet aspect (échelle courte ou échelle longue). Et ce sera cette fois-ci d'autant indispensable que des différences significatives existent à ce propos entre les usages britanniques et les usages américains, mais également entre la signification donnée à certains élément de l'échelle courte d'un côté et de l'autre de l'A1tlantique. A ne pas t'y mettre, ta transposition en toutes lettres pourra prêter à de très curieuses confusions.
    Pour résumer et être très clair : commence par cette étude nécessaire (sans préjudice, d'ailleurs, de la nécessité de revoir dans la foulée et pour cette même raison ta transposition en français).
    Bon courage.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro). Ne m'en proposez donc pas.

  10. #10
    Expert éminent
    Avatar de Jipété
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    5 875
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : juillet 2006
    Messages : 5 875
    Points : 8 084
    Points
    8 084

    Par défaut Besoin de testeurs

    Citation Envoyé par patricktoulon Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Unit1 = Array("", "One", "Two", "Tree") ' <<< ça c'est un arbre
    Voilà, testez et donnezmoi les coquilles s'il y en a.
    Un arbre au lieu de trois, ça la fout mal...


    Citation Envoyé par unparia Voir le message
    Ceci étant dit : je ne crois pas que ce forum soit dédié à l'apprentissage des langues.
    Non, certes, cependant, ceux qui programment les langues et leurs usages, conversions, etc., sont bien obligés d'en respecter les règles, sinon ça devient le foutoir le plus complet, avec des textes incompréhensibles, à contre-sens et tout à l'avenant...
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  11. #11
    Expert éminent
    Homme Profil pro
    aucune
    Inscrit en
    avril 2016
    Messages
    3 748
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : avril 2016
    Messages : 3 748
    Points : 6 553
    Points
    6 553

    Par défaut

    Bonjour Jipété
    Tu as raison sur un point :
    ceux qui programment les langues et leurs usages, conversions, etc., sont bien obligés d'en respecter les règles
    la connaissance de ces règles et usages est donc à acquérir préalablement et je ne crois pas qu'un forum de développement informatique soit le lieu adéquat pour assurer efficacement cette acquisition.
    A s'y prendre autrement, on s'expose assurément à du n'importe quoi, à une foultitude de tâtonnements, de tests, de corrections, etc ... le tout inévitablement accompagné d'une foultitude de messages divers et variés.
    Une chose est de connaître sans faille les aboutissants et de tester qu'ils sont bien là (tels qu'arrêtés) en exécution.
    Une autre est de ne pas cerner les aboutissants et d'attendre de les établir en fonction de réactions générés par des tests.

    C'est simple.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro). Ne m'en proposez donc pas.

  12. #12
    Expert éminent sénior
    Avatar de patricktoulon
    Profil pro
    Inscrit en
    avril 2009
    Messages
    10 133
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Secteur : Bâtiment

    Informations forums :
    Inscription : avril 2009
    Messages : 10 133
    Points : 16 081
    Points
    16 081
    Billets dans le blog
    1

    Par défaut re

    Bonjour
    correction dans le post 1
    j'ai enlevé la forêt sinon Jipété va "pété" trop fort

    101 le "and" j'ajouterai un paramètre injectable après (eng/US)

    les unité sans nombre
    one billion million thousand etc....

    coquille(s) SVP

    @jacques
    En anglais "britannique" (le classique, pas l'estropié quelquefois à la télévision), on n'écrit pas "one billion", mais "one thousand millions" et "one billion" = 1 000 000 000 000 et non 1 000 000 000
    c'est bien la ou la difficulté (trouver une source qui traduise correctement) car si je m'en réfère a ce que tu dis la traduction de milliard/billion sur tout les sites de traduction est fausse
    apres oui "thousand millions" correspond a milliard ca c'est incontestable

    billion" = 1 000 000 000 000 oui en Français !!!car billion est la tranche supérieure a milliard

    mais en anglais milliard se traduit "billion" va savoir pourquoi
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : résolu: ça peut servir aux autres
    et n'oublie pas de voter

  13. #13
    Expert éminent
    Homme Profil pro
    aucune
    Inscrit en
    avril 2016
    Messages
    3 748
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : avril 2016
    Messages : 3 748
    Points : 6 553
    Points
    6 553

    Par défaut

    mais en anglais milliard se traduit "billion" va savoir pourquoi
    Ah !
    Et les Britanniques se demandent pourquoi "billion" se traduit en français par "milliard", hein ...

    D'autant que
    Citation :
    I
    n British English, a billion used to be equivalent to a million million (i.e. 1,000,000,000,000), while in American English it has always equated to a thousand million (i.e. 1,000,000,000). British English has now adopted the American figure, though, so that a billion equals a thousand million in both varieties of English.

    Dis-moi : tu comptes aller où et comment, avec de telles "approches" ?
    J'ose à peine te dire qu'à moins de faire une étude linguistique COMPLETE, tu n'en finiras pas d'ajouter des rustines à tous bouts de champ à l'utilisation de tes arrays, chaque fois qu'un des "testeurs" réellement bilingue te montrera du doigt une erreur de syntaxe, y compris (je le répète et insiste avec force) en arrêtant le choix entre anglais/uk et anglais/usa.
    C'est un chemin que je connais fort bien, crois-moi. Et contrairement à ce que l'on pourrait penser il est au moins aussi malaisé de traduire des nombres en lettres en anglosaxon que ça ne l'est en français.
    Sais-tu seulement, dèjà, ce qui fait qu'ici on met un "a" et là un "one" et non un "a" ?
    Sais-tu quand les Britanniques (pas les américains) forcent le "and" ?
    Sais-tu pourquoi l'on dit One thousand and fourteen pour 1014 alors que l'on dit One thousand one hundred and fourteen pour 1114 ?
    Pour ton info : ce sont là deux exemples parmi les plus "simples", eux ... La liste de ce genre de complication est en réalité très très longue.

    Et je vois que tu ne t'es pas encore intéressé à ce que sont l'échelle courte et l'échelle longue, leur usage et les normes selon les pays, etc ...

    Moi, je vais me contenter de ce que je viens de faire : appeler ton attention sur la nécessité ABSOLUE de commencer par la détermination des aboutissants (la syntaxe dans la langue choisie) AVANT LA MOINDRE TENTATIVE D'ECRIRE DU CODE pour transposer de nombres en lettres.
    Je te laisse là, Patrick.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro). Ne m'en proposez donc pas.

  14. #14
    Responsable
    Office & Excel

    Avatar de Pierre Fauconnier
    Homme Profil pro
    Formateur et développeur informatique indépendant
    Inscrit en
    novembre 2003
    Messages
    10 804
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur informatique indépendant
    Secteur : Enseignement

    Informations forums :
    Inscription : novembre 2003
    Messages : 10 804
    Points : 27 053
    Points
    27 053
    Billets dans le blog
    4

    Par défaut

    Je suis assez d'accord avec Jacques sur le fond, et je citerai Sénèque: Il n'y a pas de vent favorable à celui qui ne sait où il va.

    C'est particulièrement vrai en programmation, où il est plus qu'intéressant, voire capital pour la réussite d'un projet, de savoir d'où l'on vient, où l'on va et quelles sont les ressources dont on dispose. Ce n'est qu'ainsi que l'on produit un code propre, stable, maintenable, aisément évolutif.

    Partir d'un code approximatif et le faire évoluer à coup de patchs, de corrections, de rétropédalages, c'est in fine produire... de la merde. Désolé d'être si cru, mais je vois trop souvent de la merde dans mon boulot, c'est-à-dire du code produit à la va-vite, sans réflexion, sans guidelines. Evidemment, c'est moins cher au départ, mais lorsque je dois mettre les mains dans le cambouis des autres et finalement annoncer que moi, je repars de zéro sur du code propre, j'entends les dents grincer...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Vous souhaitez rédiger pour DVP? Contactez-moi
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    Vous avez apprécié l'intervention => Merci pour le
    ---------------

  15. #15
    Expert éminent
    Homme Profil pro
    aucune
    Inscrit en
    avril 2016
    Messages
    3 748
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : avril 2016
    Messages : 3 748
    Points : 6 553
    Points
    6 553

    Par défaut

    Bonjour Pierre
    Tout-à-fait.
    Ajoutons qu'une transposition de nombres en lettres n'a pratiquement aucun intérêt si la fonction n'est pas paramétrée. Et ce paramétrage lui-même nécessite déjà une réflexion.
    Paramètres nécessaires :
    - la langue utilisée pour la transposition ******
    - le genre des unités (on dit par exemple en français vingt-et-une tonnes et non vingt-et-un tonnes
    - le genre des décimales (pour les mêmes raisons)
    - le nom des unités au singulier
    - le nom des unités au pluriel (n'est pas forcément simplement l'ajout d'un "s" au nom au singulier !)
    - le nom des décimale au singulier
    - le nom des décimales au pluriel (n'est pas forcément simplement l'ajout d'un "s" au nom au singulier !)

    ******. Dans certains cas assez particuliers (certains contrats, traités bi ou multilatéraux, etc ...) la langue seule ne suffit pas et doit être complétée par des paramètres relatifs aux normes du pays de langue Y où doit être produit un document écrit en langue X. Cela est rarement (mais arrive) le cas de transpositions de montants dans une monnaie M. C'est beaucoup moins rare lorsqu'il ne s'agit pas de montants, mais de mesures, de quantités ...
    Je sais que ce dernier "niveau" n'est pas celui d'une nécessité habituelle. Il n'en va pas de même en ce qui concerne les autres (au-dessus) paramètres.
    A ne pas inclure ces paramètres (ceux du 1er paragraphe au moins) on a une fonction qui ne "colle" pas toujours à la pratique et retourne donc quelquefois des résultats maladroits.
    Amitiés
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro). Ne m'en proposez donc pas.

  16. #16
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Developpeur VBA migrant tranquillement vers C# et VB.Net =]
    Inscrit en
    juillet 2007
    Messages
    12 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Developpeur VBA migrant tranquillement vers C# et VB.Net =]
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2007
    Messages : 12 139
    Points : 26 842
    Points
    26 842

    Par défaut

    Salut,

    au dela de ce qui me semble est une reinvention de la roue, tu peux checker tes resultats avec
    https://www.calculatorsoup.com/calcu...e&action=solve

    Et 1 billion c'est 1 milliard en anglais
    Pas de question technique par MP, je ne réponds pas

    Apprendre à programmer avec Access 2016

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  17. #17
    Membre éclairé
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    décembre 2013
    Messages
    524
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : décembre 2013
    Messages : 524
    Points : 707
    Points
    707

    Par défaut

    Bonjour à tous
    Pour augmenter l’utilité de ce super travail du super Patrick, à mon modeste avis, il est pertinent d’ajouter le choix de devise : Euros ou dollars qui est une mission impossible pour un débutant comme moi
    n'est pas d'où vous venez qui compte, mais où vous allez.

  18. #18
    Expert éminent
    Homme Profil pro
    aucune
    Inscrit en
    avril 2016
    Messages
    3 748
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : avril 2016
    Messages : 3 748
    Points : 6 553
    Points
    6 553

    Par défaut

    Bonjour Jean-Philippe André
    Ton lien traite de la conversion en anglais/USA
    Et du coup, 101 dollars y est traduit en "one hundred one dollars" (le and de l'anglais/UK a disparrouuuu)
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro). Ne m'en proposez donc pas.

  19. #19
    Expert éminent sénior
    Avatar de patricktoulon
    Profil pro
    Inscrit en
    avril 2009
    Messages
    10 133
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Secteur : Bâtiment

    Informations forums :
    Inscription : avril 2009
    Messages : 10 133
    Points : 16 081
    Points
    16 081
    Billets dans le blog
    1

    Par défaut

    bonjour
    Citation Envoyé par Jean-Philippe André Voir le message
    Salut,

    au dela de ce qui me semble est une reinvention de la roue, tu peux checker tes resultats avec
    https://www.calculatorsoup.com/calcu...e&action=solve

    Et 1 billion c'est 1 milliard en anglais
    oui et 1 billion en Français c'est mille milliards en anglais
    Français unité , mille ,million, milliard, billion, trillion, etc.....
    anglais unité, thousand ,million, billion, trillion, quadrillion, etc.....

    jacques si tu veux bien on va bloquer celle ci au normes américaines
    j'en ferait une autre en britannique (UK)
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : résolu: ça peut servir aux autres
    et n'oublie pas de voter

  20. #20
    Expert éminent
    Homme Profil pro
    aucune
    Inscrit en
    avril 2016
    Messages
    3 748
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : avril 2016
    Messages : 3 748
    Points : 6 553
    Points
    6 553

    Par défaut

    jacques si tu veux bien on va bloquer celle ci au normes américaines
    Ah ! Anglais/usa, hein ...
    Et cette transposition adaptée à la rédaction de quoi ?
    Car rédactions différentes selon le document. Même s'agissant d'unités monétaires (et pas d'autres unités) la rédaction d'un nombre en toutes lettres ne répond pas, aux USA, aux mêmes règles selon qu'il s'agit d'un chèque ou d'un autre document !
    Et ce n'est pas tout

    PS : et je n'ose pas revenir avec ce à quoi j'ai déjà fait allusion plus haut, à savoir la langue de rédaction et les règles de rédaction différentes du pays (utilisant ou acceptant une rédaction dans cette langue) dans lequel le document est à produire.
    Imagine simplement que tu doives libeller depuis la France en anglais/usa un chèque en dollars américains destiné à être présenté à une banque australienne (par exemple et entre autres ).
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro). Ne m'en proposez donc pas.

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/03/2008, 16h26
  2. Besoin de testeur pour le Système de GCL PERFORCE
    Par Marc Lussac dans le forum Evolutions du club
    Réponses: 1
    Dernier message: 20/04/2006, 16h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo