Comment convertir un nombre en chiffre romain?

Symptômes


Comment convertir un nombre en chiffre romain?


Résolution


La fonction suivante vous permet de convertir un nombre comme 1996 en
chiffre romain MCMXCVI

Créez un nouveau module et tapez la fonction suivante :

Function Num2Roman(ByVal N As Integer) As String
Const Digits = "IVXLCDM"
Dim i As Integer, Digit As Integer, Temp As String
i = 1
Temp = ""
Do While N > 0
Digit = N Mod 10
N = N \ 10
Select Case Digit
Case 1
Temp = Mid(Digits, i, 1) & Temp
Case 2
Temp = Mid(Digits, i, 1) & Mid(Digits, i, 1) & Temp
Case 3
Temp = Mid(Digits, i, 1) & Mid(Digits, i, 1) & Mid(Digits, i, 1)
&
Temp
Case 4
Temp = Mid(Digits, i, 2) & Temp
Case 5
Temp = Mid(Digits, i + 1, 1) & Temp
Case 6
Temp = Mid(Digits, i + 1, 1) & Mid(Digits, i, 1) & Temp
Case 7
Temp = Mid(Digits, i + 1, 1) & Mid(Digits, i, 1) & Mid(Digits, i,
1) & Temp
Case 8
Temp = Mid(Digits, i + 1, 1) & Mid(Digits, i, 1) & Mid(Digits, i,
1) & Mid(Digits, i, 1) & Temp
Case 9
Temp = Mid(Digits, i, 1) & Mid(Digits, i + 2, 1) & Temp
End Select
i = i + 2
Loop
Num2Roman = Temp
End Function

Pour tester la fonction, affichez la fenêtre de débogage et tapez suivi
de
la touche Entrée :
?Num2Roman(1996)

Remarque : Cette fonction ne traite que des valeurs entre 1 et 3999.
Propriétés

ID d'article : 466514 - Dernière mise à jour : 15 juil. 1996 - Révision : 1

Commentaires