Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

VELONDAHY Mickaël

XLDnaute Nouveau
Bonjour Monsieur , merci de m'avoir accédé dans votre site, moi je suis intérressé à l'excel, justement moi je veux savoir convertir le chiffre en lettre
 
Bonjour à tous
J'utilise cette macro (Sur Excel 2005) :
(Mettre le code ci-dessous dans un module)
puis inscrire en face du premier chiffre à modifier : =NbVersTexte(A1)
(ou E4 si le chiffre se trouve en E4) puis tirer vers le bas pour transcrire la suite.
Bonne journée à tous

VB:
Public Function NbVersTexte(ValNum As Double) As String
     'Conversion de mombre écrit en chiffres vers nombre écrit en lettres ( 34 ==> Trente quatre)
 
' dans la cellule à écrir : taper :   =NbVersTexte(A1)
    

    
     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.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…