Conversion de Convertir en mots en Roupie indienne et autres devises dans Excel (édition 2025)
Découvrez comment transformer des nombres en mots en roupie indienne – ou dans toute autre devise – directement dans Excel.
Lorsque vous travaillez avec des documents financiers tels que des factures, des devis, des formulaires fiscaux, des chèques ou des justificatifs de paiement, il est souvent nécessaire d’exprimer les montants à la fois en chiffres et en lettres selon le format Word. Cette pratique renforce le professionnalisme de vos documents et contribue efficacement à prévenir la fraude ainsi que les erreurs d’interprétation.
Exemple
Bien qu’Microsoft Excel ne dispose pas de fonction intégrée pour convertir les nombres en mots, plusieurs méthodes efficaces permettent d’y parvenir : via VBA, les fonctions LAMBDA ou l’extension tout-en-un Kutools pour Excel.
Convertir Convertir en mots en Roupie indienne avec VBA (toutes les versions Microsoft)
- Convertir Convertir en mots dans d’autres devises (USD, EUR, etc.)
- Enregistrez votre classeur au format fichier compatible avec les macros
Enregistrez votre classeur au format fichier compatible avec les macros
Convertir des nombres en USD, EUR et 30+ autres devises (toutes les versions Microsoft)
Convertir Convertir en mots en Roupie indienne avec VBA (toutes les versions Microsoft)
Pour les utilisateurs de toute version d’Excel, VBA (Visual Basic pour Applications) offre une solution personnalisable permettant de convertir des montants numériques en mots selon le système numérique indien (par exemple, milliers, lakhs, crores).
Étape 1. Appuyez sur Alt + F11 pour ouvrir l’éditeur VBA (fenêtre Microsoft Visual Basic pour Applications).

Étape 2. Allez dans Insertion > Module.

Étape 3. Collez le code VBA dans le module.
Convertir des nombres en mots en Roupie indienne
Function ConvertToRupees(ByVal MyNumber)
'UpdatebyExtendoffice
Dim Units As String, SubUnits As String, TempStr As String
Dim DecimalPlace As Integer, Count As Integer
Dim Place(9) As String
Place(2) = " Thousand "
Place(3) = " Lakh "
Place(4) = " Crore "
MyNumber = Trim(Str(MyNumber))
DecimalPlace = InStr(MyNumber, ".")
If DecimalPlace > 0 Then
SubUnits = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & "00", 2))
MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))
End If
Count = 1
Do While MyNumber <> ""
TempStr = GetHundreds(Right(MyNumber, 3))
If TempStr <> "" Then Units = TempStr & Place(Count) & Units
If Len(MyNumber) > 3 Then
MyNumber = Left(MyNumber, Len(MyNumber) - 3)
Else
MyNumber = ""
End If
Count = Count + 1
Loop
ConvertToRupees = "Rupees " & Application.WorksheetFunction.Trim(Units)
If SubUnits <> "" Then
ConvertToRupees = ConvertToRupees & " and " & SubUnits & " Paise"
End If
ConvertToRupees = ConvertToRupees & " Only"
End Function
Private Function GetHundreds(ByVal MyNumber)
Dim Result As String
If Val(MyNumber) = 0 Then Exit Function
MyNumber = Right("000" & MyNumber, 3)
If Mid(MyNumber, 1, 1) <> "0" Then
Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "
End If
If Mid(MyNumber, 2, 1) <> "0" Then
Result = Result & GetTens(Mid(MyNumber, 2))
Else
Result = Result & GetDigit(Mid(MyNumber, 3))
End If
GetHundreds = Result
End Function
Private Function GetTens(TensText)
Dim Result As String
If Val(Left(TensText, 1)) = 1 Then
Select Case Val(TensText)
Case 10: Result = "Ten"
Case 11: Result = "Eleven"
Case 12: Result = "Twelve"
Case 13: Result = "Thirteen"
Case 14: Result = "Fourteen"
Case 15: Result = "Fifteen"
Case 16: Result = "Sixteen"
Case 17: Result = "Seventeen"
Case 18: Result = "Eighteen"
Case 19: Result = "Nineteen"
End Select
Else
Select Case Val(Left(TensText, 1))
Case 2: Result = "Twenty "
Case 3: Result = "Thirty "
Case 4: Result = "Forty "
Case 5: Result = "Fifty "
Case 6: Result = "Sixty "
Case 7: Result = "Seventy "
Case 8: Result = "Eighty "
Case 9: Result = "Ninety "
End Select
Result = Result & GetDigit(Right(TensText, 1))
End If
GetTens = Result
End Function
Private Function GetDigit(Digit)
Select Case Val(Digit)
Case 1: GetDigit = "One"
Case 2: GetDigit = "Two"
Case 3: GetDigit = "Three"
Case 4: GetDigit = "Four"
Case 5: GetDigit = "Five"
Case 6: GetDigit = "Six"
Case 7: GetDigit = "Seven"
Case 8: GetDigit = "Eight"
Case 9: GetDigit = "Nine"
Case Else: GetDigit = ""
End Select
End Function

Étape 4. Enregistrez votre travail et revenez à Excel.
Étape 5. Sélectionnez une cellule et appliquez la formule comme suit :
Appuyez sur la touche Entrée.

💡Astuce : cette méthode prend en charge les décimales (paise) et fonctionne hors ligne.
Limites de l’utilisation de VBA
- Nécessite d’enregistrer le classeur au format compatible avec les macros (.xlsm).
- Les macros peuvent être désactivées par les paramètres de sécurité dans certains environnements.
Convertir Convertir en mots dans d’autres devises (USD, EUR, etc.)
Pour personnaliser le résultat avec d’autres devises, comme « Dollars » ou « Euros », il vous suffit de modifier les chaînes de caractères dans la fonction VBA. Voici une version simplifiée et plus flexible de cette fonction.
Modèle de code VBA flexible (devise personnalisée)
'UpdatebyExtendoffice
Public Function NumberToWordsCustom(ByVal num As Double, Optional ByVal currency2 As String, Optional ByVal subCurrency As String) As String
Dim result As String
Dim dollars As Long
Dim cents As Long
dollars = Int(num)
cents = Round((num - dollars) * 100)
If Len(currency2) = 0 Then currency2 = "Dollars"
If Len(subCurrency) = 0 Then subCurrency = "Cents"
result = currency2 & " " & SpellNumber_English(dollars)
If cents > 0 Then
result = result & " and " & SpellNumber_English(cents) & " " & subCurrency
End If
NumberToWordsCustom = result & " Only"
End Function
Private Function SpellNumber_English(ByVal MyNumber As Long) As String
Dim Units As Variant, Tens As Variant, Teens As Variant
Dim Place() As String
Dim TempStr As String
Dim Count As Integer
Dim t As String
Dim StrNumber As String
Dim n As Integer
Place = Split(" Thousand Million Billion", " ")
Units = Array("", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine")
Tens = Array("", "", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety")
Teens = Array("Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen")
StrNumber = Trim(Str(MyNumber))
Count = 0
Do While StrNumber <> ""
n = Val(Right(StrNumber, 3))
If n <> 0 Then
t = ConvertHundreds(n, Units, Tens, Teens)
If Count > 0 Then t = t & " " & Place(Count - 1)
TempStr = t & " " & TempStr
End If
If Len(StrNumber) > 3 Then
StrNumber = Left(StrNumber, Len(StrNumber) - 3)
Else
StrNumber = ""
End If
Count = Count + 1
Loop
SpellNumber_English = Trim(TempStr)
End Function
Private Function ConvertHundreds(ByVal n As Integer, Units As Variant, Tens As Variant, Teens As Variant) As String
Dim result As String
If n >= 100 Then
result = Units(Int(n / 100)) & " Hundred "
n = n Mod 100
End If
If n >= 20 Then
result = result & Tens(Int(n / 10)) & " "
n = n Mod 10
ElseIf n >= 10 Then
result = result & Teens(n - 10) & " "
n = 0
End If
If n > 0 Then
result = result & Units(n)
End If
ConvertHundreds = Trim(result)
End Function
Exemple de formule VBA :

Exemple de formule VBA pour une autre devise :
=NumberToWordsCustom(A2, «Euros», «Cents»)
=NumberToWordsCustom(A2, «Pounds», «Pence»)
Le code est flexible : il vous suffit de transmettre la devise et la sous-unité de votre choix.
Enregistrez votre classeur au format fichier compatible avec les macros
Si vous utilisez VBA, veillez à enregistrer votre classeur avec activation des macros — sinon, votre code sera perdu dès la fermeture du fichier.
Étape 1. Allez dans Fichier > Enregistrer sous

Étape 2. Sélectionnez un emplacement, puis choisissez comme type de fichier : Classeur Excel compatible avec les macros (*.xlsm).

Étape 3. Cliquez sur Enregistrer.
✅ Vos fonctions personnalisées, comme =ConvertToRupees(A2), sont désormais sauvegardées et réutilisables à tout moment.
Convertir Convertir en mots en Roupie indienne avec la fonction LAMBDA (Microsoft 365 uniquement)
Les utilisateurs d’Excel 365 peuvent profiter de LAMBDA, une toute nouvelle fonctionnalité qui leur permet de créer des formules personnalisées – sans avoir recours à VBA.
🪄 Qu’est-ce que LAMBDA ?
LAMBDA est une fonctionnalité d’Excel qui vous permet de créer vos propres fonctions personnalisées à l’aide de formules – à l’image des fonctions intégrées comme SOMME ou SI, mais sans avoir besoin d’écrire une seule ligne de code ni de recourir aux macros. Idéale pour simplifier les logiques répétitives, elle rend vos feuilles de calcul plus claires, plus lisibles et bien plus faciles à maintenir.
Étape 1 : rendez-vous dans l’onglet Formules, puis cliquez sur Gestionnaire de noms.

Étape 2 : créez un nouveau nom.
Cliquez sur le bouton Nouveau.

Saisissez un Nom.
Exemple : RupeeToWords

Étape 3 : collez cette formule LAMBDA dans le champ Fait référence à:
=LAMBDA(n, LET( units, {«»,«One»,«Two»,«Three»,«Four»,«Five»,«Six»,«Seven»,«Eight»,«Nine»}, teens, {«Ten»,«Eleven»,«Twelve»,«Thirteen»,«Fourteen»,«Fifteen»,«Sixteen»,«Seventeen»,«Eighteen»,«Nineteen»}, tens, {«»,«»,«Twenty»,«Thirty»,«Forty»,«Fifty»,«Sixty»,«Seventy»,«Eighty»,«Ninety»}, num, INT(n), paise, ROUND((n - INT(n)) * 100, 0), ConvertTwo, LAMBDA([[PH_1]], IF([[PH_1]]0, « » & INDEX(units, MOD([[PH_1]],10)+1), «») ) ) ), ConvertThree, LAMBDA(x, IF(x=0, «», IF([[PH_1]]0, « » & ConvertTwo(MOD([[PH_1]],100)), «») ) ) ), words, IF(num=0, «Zero», TEXTJOIN(« », TRUE, IF(INT(num/10000000)>0, ConvertTwo(INT(num/10000000)) & « Crore», «»), IF(MOD(INT(num/100000),100)>0, ConvertTwo(INT(MOD(num,10000000)/100000)) & « Lakh», «»), IF(MOD(INT(num/1000),100)>0, ConvertTwo(INT(MOD(num,100000)/1000)) & « Thousand», «»), IF(MOD(INT(num/100),10)>0, INDEX(units, INT(MOD(num,1000)/100)+1) & « Hundred», «»), IF(MOD(num,100)>0, ConvertTwo(MOD(num,100)), «») ) ), result, «Rupees » & words & IF(paise>0, « and » & ConvertTwo(paise) & « Paise», «») & « Only», result ))Cliquez sur OK pour enregistrer le nouveau nom.

Étape 3. Fermez le Gestionnaire de noms et retournez à Excel.
Étape 4. Utilisez la formule dans n’importe quelle cellule, comme suit :
Appuyez sur la touche Entrée.

👀 La formule LAMBDA complète prend en charge les crores, les lakhs, les milliers et les décimales.
Convertir des nombres en USD, EUR et 30+ autres devises (toutes les versions Microsoft)
Pour une solution professionnelle et optimale, utilisez l’outil puissant Kutools pour Excel's Convertir en motsqui prend en charge :
🌍 Plus de 30 devises, notamment :
- Dollars américains (USD)
- Euros (EUR)
- Yuans chinois (CNY)
- Livres sterling (GBP)
- etc.
1. Sélectionnez les cellules que vous souhaitez convertir.

Étape 2. Allez dans Kutools > Contenu > Convertir en mots

Étape 3. Sélectionnez la devise cible et cliquez sur OK.

Les nombres sont convertis dans la devise spécifiée.

😁Astuce: si vous souhaitez convertir directement Convertir en mots, cochez l’option Ne pas convertir en unité monétaire, et le résultat s’affichera ainsi :

Quand utiliser chaque méthode
Optez pour VBA si vous recherchez une solution flexible et entièrement programmable, et que vous maîtrisez les macros.
- Optez pour LAMBDA si vous utilisez Excel 365 et que vous n’avez besoin de convertir des montants en roupies indiennes qu’occasionnellement. Cette solution légère et facile à partager ne requiert ni macros ni outils externes – parfaite pour des tâches simples ou personnelles.
- Optez pour Kutools pour Excel si vous recherchez la solution la plus simple, rapide et polyvalente – sans aucune programmation. Kutools se révèle particulièrement utile lorsque :
- Vous gérez plusieurs devises.
- Vous devez convertir des valeurs en masse ou au sein de grands jeux de données.
- Vous recherchez un outil professionnel, sans macro, offrant plus de 30 options de devises et une performance optimisée par l’IA.
Meilleurs outils de productivité Office
Boostez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée.Kutools pour Excel propose plus de 300 fonctionnalités avancées pour améliorer votre productivité et Gagner du temps.Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et rend votre travail bien plus facile
- Activez l’édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez 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 vous fait économiser des centaines de clics de souris chaque jour !
Tous les compléments Kutools. Un seul installateur
Kutools for Office regroupe les compléments pour Excel, Word, Outlook et PowerPoint, ainsi que Office Tab Pro, ce qui en fait le choix idéal pour les équipes travaillant à travers les applications Office.
- Suite tout-en-un— Compléments Excel, Word, Outlook et PowerPoint + Office Tab Pro
- Un seul installateur, une seule licence— installation en quelques minutes (compatible MSI)
- Fonctionne mieux ensemble— productivité optimisée dans toutes les applications Office
- Essai gratuit de 30 jours avec toutes les fonctionnalités— aucune inscription, aucune carte bancaire
- Meilleur rapport qualité-prix— économisez par rapport à l’achat de compléments individuels

