Comment convertir des nombres en mots en roupies indiennes dans Excel ?
La conversion de nombres en mots est une exigence courante, en particulier lors de la préparation de documents financiers tels que des factures ou des chèques. Bien qu'Excel ne dispose pas d'une fonction intégrée pour convertir des nombres en mots, vous pouvez y parvenir en utilisant VBA. Voici un guide étape par étape pour convertir des nombres en mots en roupies indiennes ou dans une autre devise.
Convertir des nombres en mots en roupies indiennes avec du code VBA
Convertir des nombres en mots en roupies indiennes avec du code VBA
Le code VBA suivant peut vous aider à convertir les nombres en mots en roupies, veuillez procéder comme suit :
1. Maintenez les touches "ALT" + "F11" enfoncées pour ouvrir la fenêtre "Microsoft Visual Basic for Applications".
2. Cliquez sur "Insérer" > "Module", puis collez le code suivant dans la fenêtre "Module".
Code VBA : Convertir des nombres en mots en roupies
Public Function RupeeFormat(SNum As String)
'Updateby Extendoffice
Dim xDPInt As Integer
Dim xArrPlace As Variant
Dim xRStr_Paisas As String
Dim xNumStr As String
Dim xF As Integer
Dim xTemp As String
Dim xStrTemp As String
Dim xRStr As String
Dim xLp As Integer
xArrPlace = Array("", "", " Thousand ", " Lacs ", " Crores ", " Trillion ", "", "", "", "")
On Error Resume Next
If SNum = "" Then
RupeeFormat = ""
Exit Function
End If
xNumStr = Trim(str(SNum))
If xNumStr = "" Then
RupeeFormat = ""
Exit Function
End If
xRStr = ""
xLp = 0
If (xNumStr > 999999999.99) Then
RupeeFormat = "Digit excced Maximum limit"
Exit Function
End If
xDPInt = InStr(xNumStr, ".")
If xDPInt > 0 Then
If (Len(xNumStr) - xDPInt) = 1 Then
xRStr_Paisas = RupeeFormat_GetT(Left(Mid(xNumStr, xDPInt + 1) & "0", 2))
ElseIf (Len(xNumStr) - xDPInt) > 1 Then
xRStr_Paisas = RupeeFormat_GetT(Left(Mid(xNumStr, xDPInt + 1), 2))
End If
xNumStr = Trim(Left(xNumStr, xDPInt - 1))
End If
xF = 1
Do While xNumStr <> ""
If (xF >= 2) Then
xTemp = Right(xNumStr, 2)
Else
If (Len(xNumStr) = 2) Then
xTemp = Right(xNumStr, 2)
ElseIf (Len(xNumStr) = 1) Then
xTemp = Right(xNumStr, 1)
Else
xTemp = Right(xNumStr, 3)
End If
End If
xStrTemp = ""
If Val(xTemp) > 99 Then
xStrTemp = RupeeFormat_GetH(Right(xTemp, 3), xLp)
If Right(Trim(xStrTemp), 3) <> "Lac" Then
xLp = xLp + 1
End If
ElseIf Val(xTemp) <= 99 And Val(xTemp) > 9 Then
xStrTemp = RupeeFormat_GetT(Right(xTemp, 2))
ElseIf Val(xTemp) < 10 Then
xStrTemp = RupeeFormat_GetD(Right(xTemp, 2))
End If
If xStrTemp <> "" Then
xRStr = xStrTemp & xArrPlace(xF) & xRStr
End If
If xF = 2 Then
If Len(xNumStr) = 1 Then
xNumStr = ""
Else
xNumStr = Left(xNumStr, Len(xNumStr) - 2)
End If
ElseIf xF = 3 Then
If Len(xNumStr) >= 3 Then
xNumStr = Left(xNumStr, Len(xNumStr) - 2)
Else
xNumStr = ""
End If
ElseIf xF = 4 Then
xNumStr = ""
Else
If Len(xNumStr) <= 2 Then
xNumStr = ""
Else
xNumStr = Left(xNumStr, Len(xNumStr) - 3)
End If
End If
xF = xF + 1
Loop
If xRStr = "" Then
xRStr = "No Rupees"
Else
xRStr = " Rupees " & xRStr
End If
If xRStr_Paisas <> "" Then
xRStr_Paisas = " and " & xRStr_Paisas & " Paisas"
End If
RupeeFormat = xRStr & xRStr_Paisas & " Only"
End Function
Function RupeeFormat_GetH(xStrH As String, xLp As Integer)
Dim xRStr As String
If Val(xStrH) < 1 Then
RupeeFormat_GetH = ""
Exit Function
Else
xStrH = Right("000" & xStrH, 3)
If Mid(xStrH, 1, 1) <> "0" Then
If (xLp > 0) Then
xRStr = RupeeFormat_GetD(Mid(xStrH, 1, 1)) & " Lac "
Else
xRStr = RupeeFormat_GetD(Mid(xStrH, 1, 1)) & " Hundred "
End If
End If
If Mid(xStrH, 2, 1) <> "0" Then
xRStr = xRStr & RupeeFormat_GetT(Mid(xStrH, 2))
Else
xRStr = xRStr & RupeeFormat_GetD(Mid(xStrH, 3))
End If
End If
RupeeFormat_GetH = xRStr
End Function
Function RupeeFormat_GetT(xTStr As String)
Dim xTArr1 As Variant
Dim xTArr2 As Variant
Dim xRStr As String
xTArr1 = Array("Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen")
xTArr2 = Array("", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety")
Result = ""
If Val(Left(xTStr, 1)) = 1 Then
xRStr = xTArr1(Val(Mid(xTStr, 2, 1)))
Else
If Val(Left(xTStr, 1)) > 0 Then
xRStr = xTArr2(Val(Left(xTStr, 1)) - 1)
End If
xRStr = xRStr & RupeeFormat_GetD(Right(xTStr, 1))
End If
RupeeFormat_GetT = xRStr
End Function
Function RupeeFormat_GetD(xDStr As String)
Dim xArr_1() As Variant
xArr_1 = Array(" One", " Two", " Three", " Four", " Five", " Six", " Seven", " Eight", " Nine", "")
If Val(xDStr) > 0 Then
RupeeFormat_GetD = xArr_1(Val(xDStr) - 1)
Else
RupeeFormat_GetD = ""
End If
End Function
3. Après avoir inséré le code, enregistrez et fermez la fenêtre de code, revenez à la feuille de calcul, puis entrez la formule suivante dans une cellule vide, puis faites glisser la poignée de remplissage vers le bas pour appliquer cette formule à d'autres cellules, tous les nombres auront été écrits en lettres en roupies.
=RupeeFormat(A2)
Convertir des nombres en mots en dollars anglais ou dans une autre devise avec une fonctionnalité étonnante
Simplifiez vos tâches Excel et augmentez votre productivité avec "Kutools for Excel". "Kutools for Excel" propose une fonctionnalité puissante - "Nombres en Mots" qui offre plus de 40 options de conversion de devises vous permettant de convertir rapidement des nombres en YUAN chinois, en dollars anglais ou en toute autre devise en quelques clics.
Après avoir installé Kutools for Excel, veuillez procéder comme suit :
1. Sélectionnez la liste de nombres que vous souhaitez convertir, puis cliquez sur "Kutools" > "Texte" > "Nombres en Mots".
2. Dans la boîte de dialogue "Conversion de Nombres en Mots de Devise", sélectionnez une option de devise dans la section "Langue", voir capture d'écran :
3. Puis cliquez sur le bouton "OK", les nombres dans la sélection ont été convertis en mots de devise spécifiques dont vous avez besoin.
Cliquez pour télécharger Kutools for Excel et essayez-le gratuitement maintenant !
Les meilleurs outils de productivité pour Office
Kutools pour Excel résout la plupart de vos problèmes et augmente votre productivité de 80 %
- Barre de formule avancée (éditez facilement plusieurs lignes de texte et de formules); Mode Lecture (lisez et éditez facilement un grand nombre de cellules); Coller dans une plage filtrée...
- Fusionner des cellules/lignes/colonnes tout en conservant les données; Diviser le contenu des cellules; Consolider des lignes en double et faire la somme/moyenne... Empêcher les doublons dans les cellules; Comparer des plages...
- Sélectionner des lignes en double ou uniques; Sélectionner des lignes vides (toutes les cellules sont vides); Super Recherche et recherche floue dans de nombreux classeurs; Sélection aléatoire...
- Copie exacte de plusieurs cellules sans changer les références de formule; Créer automatiquement des références vers plusieurs feuilles; Insérer des puces, des cases à cocher et plus encore...
- Ajouter et insérer rapidement des formules, des plages, des graphiques et des images; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails...
- Extraire du texte, ajouter du texte, supprimer par position, supprimer des espaces; Créer et imprimer des statistiques de page; Convertir entre le contenu des cellules et les commentaires...
- Super Filtre (enregistrer et appliquer des schémas de filtre à d'autres feuilles); Tri avancé par mois/semaine/jour, fréquence et plus; Filtre spécial par gras, italique...
- Consolider des classeurs et feuilles de calcul; Fusionner des tables basées sur des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots de fichiers xls, xlsx et PDF...
- Regroupement dans les tableaux croisés dynamiques par numéro de semaine, jour de la semaine et plus... Afficher les cellules verrouillées/déverrouillées avec différentes couleurs; Mettre en évidence les cellules contenant des formules/noms...

- Activer l'édition et la lecture à onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrir et créer plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de 50 % et réduit des centaines de clics de souris chaque jour !
