Re pour aujourd hui :)
Deux petites fonctions pratiques pour convertir une somme en euros et centimes integer en chaine de caractères donc en toutes lettres :)
dites moi si il y a des bugs thx !
Source / Exemple :
Function TRAD_mt(Mt As Currency) As String
' la fonction de traduit pas au dela de 999 999 999
' car la fonction mod produit un depassement de capacité
Dim TExt As String, EXp1 As String
Dim VAleur As Currency
Dim ENtier As Integer, UNite As Integer
If Mt > 999999999.99 Then
TRAD_mt = "MONTANT TROP IMPORTANT"
Exit Function
End If
If Mt = 0 Then
TRAD_mt = "ZERO EURO ZERO CTS"
Exit Function
End If
VAleur = Abs(Mt)
VAleur = VAleur * 100
ENtier = CInt(Mid(CStr(VAleur), Len(CStr(VAleur)) - 1, 2))
If ENtier <> 0 Then
TExt = MONt(ENtier) & "CTS"
Else
TExt = ""
End If
VAleur = Int(VAleur / 100)
If (VAleur Mod 1000000) <> 0 Then
TExt = "EUROS " & TExt
Else
If VAleur <> 0 Then
TExt = "D' EUROS " & TExt
End If
End If
UNite = 0
Do Until VAleur = 0
ENtier = VAleur Mod 1000
If ENtier = 0 Then
VAleur = Int(VAleur / 1000)
Else
ENtier = VAleur Mod 100
If ENtier > 1 And UNite > 1 Then
TExt = "S " & TExt
Else
TExt = " " & TExt
End If
Select Case UNite
Case 0
Case 1
TExt = "MILLE" & TExt
Case 2
TExt = "MILLION" & TExt
Case 3
TExt = "MILLIARD" & TExt
Case Else
TExt = "ERREUR " & TExt
End Select
If ENtier <> 0 Then
If ENtier > 1 Or UNite > 1 Then
TExt = MONt(ENtier) & TExt
ElseIf ENtier = 1 And UNite = 0 Then
TExt = MONt(ENtier) & TExt
End If
End If
VAleur = Int(VAleur / 100)
ENtier = VAleur Mod 10
If ENtier <> 0 Then
TExt = "CENT " & TExt
If ENtier <> 1 Then
TExt = MONt(ENtier) & TExt
End If
End If
VAleur = Int(VAleur / 10)
End If
UNite = UNite + 1
Loop
If Mt < 0 Then
TExt = "MOINS " & TExt
End If
TRAD_mt = TExt
End Function
Function MONt(Mt As Integer) As String
Select Case Mt
Case 1
MONt = "UN "
Case 2
MONt = "DEUX "
Case 3
MONt = "TROIS "
Case 4
MONt = "QUATRE "
Case 5
MONt = "CINQ "
Case 6
MONt = "SIX "
Case 7
MONt = "SEPT "
Case 8
MONt = "HUIT "
Case 9
MONt = "NEUF "
Case 10
MONt = "DIX "
Case 11
MONt = "ONZE "
Case 12
MONt = "DOUZE "
Case 13
MONt = "TREIZE "
Case 14
MONt = "QUATORZE "
Case 15
MONt = "QUINZE "
Case 16
MONt = "SEIZE "
Case 17
MONt = "DIX-SEPT "
Case 18
MONt = "DIX-HUIT "
Case 19
MONt = "DIX-NEUF "
Case 20
MONt = "VINGT "
Case 21
MONt = "VINGT ET UN "
Case 22
MONt = "VINGT DEUX "
Case 23
MONt = "VINGT TROIS "
Case 24
MONt = "VINGT QUATRE "
Case 25
MONt = "VINGT CINQ "
Case 26
MONt = "VINGT SIX "
Case 27
MONt = "VINGT SEPT "
Case 28
MONt = "VINGT HUIT "
Case 29
MONt = "VINGT NEUF "
Case 30
MONt = "TRENTE "
Case 31
MONt = "TRENTE ET UN "
Case 32
MONt = "TRENTE DEUX "
Case 33
MONt = "TRENTE TROIS "
Case 34
MONt = "TRENTE QUATRE "
Case 35
MONt = "TRENTE CINQ "
Case 36
MONt = "TRENTE SIX "
Case 37
MONt = "TRENTE SEPT "
Case 38
MONt = "TRENTE HUIT "
Case 39
MONt = "TRENTE NEUF "
Case 40
MONt = "QUARANTE "
Case 41
MONt = "QUARANTE ET UN "
Case 42
MONt = "QUARANTE DEUX "
Case 43
MONt = "QUARANTE TROIS "
Case 44
MONt = "QUARANTE QUATRE "
Case 45
MONt = "QUARANTE CINQ "
Case 46
MONt = "QUARANTE SIX "
Case 47
MONt = "QUARANTE SEPT "
Case 48
MONt = "QUARANTE HUIT "
Case 49
MONt = "QUARANTE NEUF "
Case 50
MONt = "CINQUANTE "
Case 51
MONt = "CINQUANTE ET UN "
Case 52
MONt = "CINQUANTE DEUX "
Case 53
MONt = "CINQUANTE TROIS "
Case 54
MONt = "CINQUANTE QUATRE "
Case 55
MONt = "CINQUANTE CINQ "
Case 56
MONt = "CINQUANTE SIX "
Case 57
MONt = "CINQUANTE SEPT "
Case 58
MONt = "CINQUANTE HUIT "
Case 59
MONt = "CINQUANTE NEUF "
Case 60
MONt = "SOIXANTE "
Case 61
MONt = "SOIXANTE ET UN "
Case 62
MONt = "SOIXANTE DEUX "
Case 63
MONt = "SOIXANTE TROIS "
Case 64
MONt = "SOIXANTE QUATRE "
Case 65
MONt = "SOIXANTE CINQ "
Case 66
MONt = "SOIXANTE SIX "
Case 67
MONt = "SOIXANTE SEPT "
Case 68
MONt = "SOIXANTE HUIT "
Case 69
MONt = "SOIXANTE NEUF "
Case 70
MONt = "SOIXANTE DIX "
Case 71
MONt = "SOIXANTE ET ONZE "
Case 72
MONt = "SOIXANTE DOUZE "
Case 73
MONt = "SOIXANTE TREIZE "
Case 74
MONt = "SOIXANTE QUATORZE "
Case 75
MONt = "SOIXANTE QUINZE "
Case 76
MONt = "SOIXANTE SEIZE "
Case 77
MONt = "SOIXANTE DIX SEPT "
Case 78
MONt = "SOIXANTE DIX HUIT "
Case 79
MONt = "SOIXANTE DIX NEUF "
Case 80
MONt = "QUATRE VINGT "
Case 81
MONt = "QUATRE VINGT UN "
Case 82
MONt = "QUATRE VINGT DEUX "
Case 83
MONt = "QUATRE VINGT TROIS "
Case 84
MONt = "QUATRE VINGT QUATRE "
Case 85
MONt = "QUATRE VINGT CINQ "
Case 86
MONt = "QUATRE VINGT SIX "
Case 87
MONt = "QUATRE VINGT SEPT "
Case 88
MONt = "QUATRE VINGT HUIT "
Case 89
MONt = "QUATRE VINGT NEUF "
Case 90
MONt = "QUATRE VINGT DIX "
Case 91
MONt = "QUATRE VINGT ONZE "
Case 92
MONt = "QUATRE VINGT DOUZE "
Case 93
MONt = "QUATRE VINGT TREIZE "
Case 94
MONt = "QUATRE VINGT QUATORZE "
Case 95
MONt = "QUATRE VINGT QUINZE "
Case 96
MONt = "QUATRE VINGT SEIZE "
Case 97
MONt = "QUATRE VINGT DIX SEPT "
Case 98
MONt = "QUATRE VINGT DIX HUIT "
Case 99
MONt = "QUATRE VINGT DIX NEUF "
Case Else
MONt = "ERREUR .."
End Select
End Function
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.