IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[EXCEL] conversion chiffre/lettre


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Inscrit en
    Septembre 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 6
    Par défaut [EXCEL] conversion chiffre/lettre
    Bonjour

    En ce moment j'ai un autre souci avec Excel. Je cherche une fonction qui me transforme automiquement un nombre entier quelconque en lettre sous Excel ( ex: 5----> cinq). est-ce que quelqu'un peut m'aider?
    merci
    cordialement

  2. #2
    Expert confirmé

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Par défaut
    Tu trouveras ta réponse au moins dans les sources Access.
    http://access.developpez.com/sources...ffresEnLettres

  3. #3
    Membre actif Avatar de blaiso
    Profil pro
    Banquier
    Inscrit en
    Décembre 2005
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Banquier

    Informations forums :
    Inscription : Décembre 2005
    Messages : 97
    Par défaut
    dans ce lien il y a un fichier qui pourra t'aider:
    http://www.developpez.net/forums/sho...d.php?t=273879

  4. #4
    Membre Expert
    Avatar de Mahefasoa
    Homme Profil pro
    Manager IT
    Inscrit en
    Octobre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Manager IT

    Informations forums :
    Inscription : Octobre 2003
    Messages : 835
    Par défaut
    Salut,

    Voici un code trouvé sur le net :

    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
     
         Public Function NbVersTexte(ValNum As Double) As String
         Static Unites(0 To 9) As String
         Static Dixaines(0 To 9) As String
         Static LesDixaines(0 To 9) As String
         Static Milliers(0 To 4) As String
     
         Dim i As Integer
         Dim nPosition As Integer
         Dim ValNb As Integer
         Dim LesZeros As Integer
         Dim strResultat As String
         Dim strTemp As String
         Dim tmpBuff As String
     
         Unites(0) = "zero"
         Unites(1) = "un"
         Unites(2) = "deux"
         Unites(3) = "trois"
         Unites(4) = "quatre"
         Unites(5) = "cinq"
         Unites(6) = "six"
         Unites(7) = "sept"
         Unites(8) = "huit"
         Unites(9) = "neuf"
     
         Dixaines(0) = "dix"
         Dixaines(1) = "onze"
         Dixaines(2) = "douze"
         Dixaines(3) = "treize"
         Dixaines(4) = "quatorze"
         Dixaines(5) = "quinze"
         Dixaines(6) = "seize"
         Dixaines(7) = "dix-sept"
         Dixaines(8) = "dix-huit"
         Dixaines(9) = "dix-neuf"
     
         LesDixaines(0) = ""
         LesDixaines(1) = "dix"
         LesDixaines(2) = "vingt"
         LesDixaines(3) = "trente"
         LesDixaines(4) = "quarante"
         LesDixaines(5) = "cinquante"
         LesDixaines(6) = "soixante"
         LesDixaines(7) = "soixante-dix"
         LesDixaines(8) = "quatre-vingt"
         LesDixaines(9) = "quatre-vingt-dix"
     
         Milliers(0) = ""
         Milliers(1) = "mille"
         Milliers(2) = "million"
         Milliers(3) = "millard"
         Milliers(4) = "mille"
     
         On Error GoTo NbVersTexteError
     
         strTemp = CStr(Int(ValNum))
     
         For i = Len(strTemp) To 1 Step -1
         ValNb = Val(Mid$(strTemp, i, 1))
         nPosition = (Len(strTemp) - i) + 1
         Select Case (nPosition Mod 3)
         Case 1
         LesZeros = False
         If i = 1 Then
         If ValNb > 1 Then
         tmpBuff = Unites(ValNb) & " "
         Else
         tmpBuff = ""
         End If
         ElseIf Mid$(strTemp, i - 1, 1) = "1" Then
         tmpBuff = Dixaines(ValNb) & " "
         i = i - 1
         ElseIf Mid$(strTemp, i - 1, 1) = "9" Then
         tmpBuff = LesDixaines(8) & " " & Dixaines(ValNb) & " "
         i = i - 1
         ElseIf Mid$(strTemp, i - 1, 1) = "7" Then
         tmpBuff = LesDixaines(6) & " " & Dixaines(ValNb) & " "
         i = i - 1
         ElseIf ValNb > 0 Then
         tmpBuff = Unites(ValNb) & " "
         Else
         LesZeros = True
         If i > 1 Then
         If Mid$(strTemp, i - 1, 1) <> "0" Then
         LesZeros = False
         End If
         End If
         If i > 2 Then
         If Mid$(strTemp, i - 2, 1) <> "0" Then
         LesZeros = False
         End If
         End If
         tmpBuff = ""
         End If
         If LesZeros = False And nPosition > 1 Then
         tmpBuff = tmpBuff & Milliers(nPosition / 3) & " "
         End If
         strResultat = tmpBuff & strResultat
         Case 2
         If ValNb > 0 Then
         strResultat = LesDixaines(ValNb) & " " & strResultat
         End If
         Case 0
         If ValNb > 0 Then
         If ValNb > 1 Then
         strResultat = Unites(ValNb) & " cent " & strResultat
         Else
         strResultat = "cent " & strResultat
         End If
         End If
         End Select
         Next i
         If Len(strResultat) > 0 Then
         strResultat = UCase$(Left$(strResultat, 1)) & Mid$(strResultat, 2)
         End If
     
         EndNbVersTexte:
         NbVersTexte = strResultat
         Exit Function
     
         NbVersTexteError:
         strResultat = "Une Erreur !"
         Resume EndNbVersTexte
         End Function
     
         ' N.B : Ce code à été adapté du code de Jim Youmans pour être utiliser en francais car les chiffres comme 75 et 95 ne s'affiche pas de la même façon.
    Pour l'utiliser, dans une cellule, tu écris
    Code formule : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =NbVersTexte(A1)
    Si la cellule A1 contient le nombre à convertir.

    Bon courage et @+

  5. #5
    Membre actif Avatar de blaiso
    Profil pro
    Banquier
    Inscrit en
    Décembre 2005
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Banquier

    Informations forums :
    Inscription : Décembre 2005
    Messages : 97
    Par défaut
    c'est curieux qu'il n y ait aucune réaction de la part de la personne qui avait besoin d'aide.
    Si vous êtes satisfait, dites le!

  6. #6
    Membre Expert

    Homme Profil pro
    Technicien Métrologie R&D
    Inscrit en
    Janvier 2007
    Messages
    1 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Métrologie R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 610
    Billets dans le blog
    1

  7. #7
    Membre habitué
    Inscrit en
    Septembre 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 6
    Par défaut SOS - Mon pb de conversion persiste
    Bonjour

    Je vous remercie d'avoir répondu à mon problème. Seulement comme je suis une profane d'excel je ne connais pas la procédure à suivre pour intégrer le code VB ( conversion nombre " des chiffre aux lettres") à Excel ni comment l'executer sur excel. Vous serez gentille de me donner la recette. Merci

    Très cordialement

  8. #8
    Membre Expert

    Homme Profil pro
    Technicien Métrologie R&D
    Inscrit en
    Janvier 2007
    Messages
    1 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Métrologie R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 610
    Billets dans le blog
    1
    Par défaut
    tu ouvres l'editeur vb
    Alt F11
    si tu n'as rien modifié dans le vb editeur tu as a droite une fenêtre
    avec en titre Project VBA project
    dedans une liste de classeur
    dans les nome il doit y avoir le classeur que tu as ouvert :une petite valise jaune
    avec en dessous trois icône feuil1 feuil2 feuil3 (ceci si tu n'as pas supprimer ou ajouter de feuille dans ton classeur) et en dessous une icône blanche marqué thisworkbook
    tu cliques avec le bouton droit de ta souris sur la valise jaune dans le menu contextuel tu fait inséré module
    une page blanche apparait dans la fenêtre gauche de l'écran (blanche )
    tu fait un copier coller du code dans cette fenêtre

    le texte function convert(blabla as truc) va déterminer ce qui sera passer a la fonction
    généralement ceux qui postent une fonction sur des site mette également le mode d'emploi en règle générale. Un tel type de fonction doit logiquement marcher comme ceci =convert(a1) a1 comportant le nombre à permuter certaine plus évoluer peuvent avoir deux paramètre convert(a1;"CH") possible que la fonction tienne compte des belgicismes ou d'autre lecture voir carrément d'autre langue tout dépend de son créateur
    Daranc

  9. #9
    Membre habitué
    Inscrit en
    Septembre 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 6
    Par défaut Un grand merci
    Bonjour

    J'ai essayé le code de Mahefasoa et la procédure d'insertion de Daranc. C'est ok ça marche. Merci à tous. Vous êtes formidables....
    cordialement.

  10. #10
    Membre éclairé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Par défaut
    bonjour a tous

    juste pour ajouter une solution vba a mettre dans un module que je viens de poster http://www.developpez.net/forums/d11...ichant-lettre/
    cordialement

    Pascal

  11. #11
    Membre confirmé
    Inscrit en
    Décembre 2008
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 67
    Par défaut Salut
    Effectivement,moi aussi je viens de trouver mon bonheur en voyant cette discussion.j'avais commencé à écrire l'algo et plus j'avançais et plus je constatais qu'il y avait encore plusieurs paramètres et je me suis dis ben je ne dois pas être le premier à avoir cette préoccupation et trouver le programme directement en VBA serait un gain énorme de temps.merci à toute la communauté
    Cordialement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 30/05/2007, 18h19
  2. Réponses: 3
    Dernier message: 26/09/2006, 11h33
  3. conversion chiffre en lettre
    Par dejiein dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/06/2006, 09h50
  4. conversion chiffre en lettre
    Par arezki76 dans le forum Oracle
    Réponses: 3
    Dernier message: 17/12/2005, 12h31
  5. Conversion chiffres en toutes lettres
    Par jouda dans le forum Langage
    Réponses: 2
    Dernier message: 11/11/2005, 18h58

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