bonjour ;
j'ai réussi à avoir un code en C# qui permet d'effectuer la conversion d'un nombre en lettre (exp: 123.34 => cent vingt trois euro et trente quatre centimes). quand j'ai convertie le code en vb.net il m'affiche, j'ai toujours le même résultat : zero !!. j'ai révisé le code à plusieurs reprises mais sans que je puisse trouver la faille

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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
 
 Public Function converti(ByVal chiffre As Double) As String
 
        Dim centaine As Integer
        Dim dizaine As Integer
        Dim unite As Integer
        Dim reste As Integer
        Dim y As Integer
        Dim dix As Boolean = False
        Dim lettre As String = ""
        Stop
 
        reste = chiffre / 1
 
        Dim i As Integer
        For i = 1000000000 To 1 Step i / 1000
            y = reste / i
 
            '******************************
            If (y <> 0) Then
 
                centaine = y / 100
                dizaine = (y - centaine * 100) / 10
                unite = y - (centaine * 100) - (dizaine * 10)
                '*******************
                Select Case centaine
                    Case 0
                        Exit For
                    Case 1
                        lettre = lettre + "cent "
                        Exit For
                    Case 2
                        If ((dizaine = 0) And (unite = 0)) Then
                            lettre = lettre + "deux cents "
                        Else
                            lettre = lettre + "deux cent "
                        End If
                        Exit For
                    Case 3
                        If ((dizaine = 0) And (unite = 0)) Then
                            lettre = lettre + "trois cents "
                        Else
                            lettre = lettre + "trois cent "
                        End If
                        Exit For
                    Case 4
                        If ((dizaine = 0) And (unite = 0)) Then
                            lettre = lettre + "quatre cents "
                        Else
                            lettre = lettre + "quatre cent "
                        End If
                        Exit For
                    Case 5
                        If ((dizaine = 0) And (unite = 0)) Then
                            lettre = lettre + "cinq cents "
                        Else
                            lettre = lettre + "cinq cent "
                        End If
                        Exit For
                    Case 6
                        If ((dizaine = 0) And (unite = 0)) Then
                            lettre = lettre + "six cents "
                        Else
                            lettre = lettre + "six cent "
                        End If
                        Exit For
                    Case 7
                        If ((dizaine = 0) And (unite = 0)) Then
                            lettre = lettre + "sept cents "
                        Else
                            lettre = lettre + "sept cent "
                        End If
                        Exit For
                    Case 8
                        If ((dizaine = 0) And (unite = 0)) Then
                            lettre = lettre + "huit cents "
                        Else
                            lettre = lettre + "huit cent "
                        End If
                        Exit For
                    Case 9
                        If ((dizaine = 0) And (unite = 0)) Then
                            lettre = lettre + "neuf cents "
                        Else
                            lettre = lettre + "neuf cent "
                        End If
                End Select
                '*****************************
                '********************************
                Select Case dizaine
                    Case 0
                        Exit For
                    Case 1
                        dix = True
                        Exit For
                    Case 2
                        lettre = lettre + "vingt "
                        Exit For
                    Case 3
                        lettre = lettre + "trente "
                        Exit For
                    Case 4
                        lettre = lettre + "quarante "
                        Exit For
                    Case 5
                        lettre = lettre + "cinquante "
                        Exit For
                    Case 6
                        lettre = lettre + "soixante "
                        Exit For
                    Case 7
                        dix = True
                        lettre = lettre + "soixante "
                        Exit For
                    Case 8
                        lettre = lettre + "quatre-vingt "
                        Exit For
                    Case 9
                        dix = True
                        lettre = lettre + "quatre-vingt "
                End Select
                '*******************************
                '********************************
                Select Case unite
                    Case 0
                        If (dix) Then
                            lettre = lettre + "dix "
                        End If
                        Exit For
                    Case 1
                        If (dix) Then
                            lettre = lettre + "onze "
                        Else
                            lettre = lettre + "un "
                        End If
                        Exit For
                    Case 2
                        If (dix) Then
                            lettre = lettre + "douze "
                        Else
                            lettre = lettre + "deux "
                        End If
                        Exit For
                    Case 3
                        If (dix) Then
                            lettre = lettre + "treize "
                        Else
                            lettre = lettre + "trois "
                        End If
                        Exit For
                    Case 4
                        If (dix) Then
                            lettre = lettre + "quatorze "
                        Else
                            lettre = lettre + "quatre "
                        End If
                        Exit For
                    Case 5
                        If (dix) Then
                            lettre = lettre + "quinze "
                        Else
                            lettre = lettre + "cinq "
                        End If
                        Exit For
                    Case 6
                        If (dix) Then
                            lettre = lettre + "seize "
                        Else
                            lettre = lettre + "six "
                        End If
                        Exit For
                    Case 7
                        If (dix) Then
                            lettre = lettre + "dix-sept "
                        Else
                            lettre = lettre + "sept "
                        End If
                        Exit For
                    Case 8
                        If (dix) Then
                            lettre = lettre + "dix-huit "
                        Else
                            lettre = lettre + "huit "
                        End If
                        Exit For
                    Case 9
                        If (dix) Then
                            lettre = lettre + "dix-neuf "
                        Else
                            lettre = lettre + "neuf "
                        End If
                End Select
                '*********************************
                '**********************************
                Select Case i
                    Case 1000000000
                        If (y > 1) Then
                            lettre = lettre + "milliards "
                        Else
                            lettre = lettre + "milliard "
                        End If
                        Exit For
                    Case 1000000
                        If (y > 1) Then
                            lettre = lettre + "millions "
                        Else
                            lettre = lettre + "million "
                        End If
                        Exit For
                    Case 1000
                        lettre = lettre + "mille "
                End Select
                '**************************************
            End If
            '************************************
            reste = reste - y * i
            dix = False
        Next i
        ' end for
        If (Len(lettre) = 0) Then
            lettre = lettre + "zero"
        End If
 
        Return lettre
 
    End Function
j'espère que vous allez pouvoir m'aider