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
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
Tu trouveras ta réponse au moins dans les sources Access.
http://access.developpez.com/sources...ffresEnLettres
dans ce lien il y a un fichier qui pourra t'aider:
http://www.developpez.net/forums/sho...d.php?t=273879
Salut,
Voici un code trouvé sur le net :
Pour l'utiliser, dans une cellule, tu écris
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.
Si la cellule A1 contient le nombre à convertir.
Code formule : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 =NbVersTexte(A1)
Bon courage et @+
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!
![]()
il ya aussi celui ci
http://www.veriti.net/articles.php?lng=fr&pg=238
Daranc
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
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
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.
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
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
Partager