KutoolsforOffice — Une solution unique, cinq outils puissants.Faire plus avec moins d'efforts.Soldes de mars : 20 % de réduction

Conversion de Convertir en mots en Roupie indienne et autres devises dans Excel (édition 2025)

AuteurXiaoyang Date de modification

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

12,350,50 → Douze mille trois cent cinquante roupies et cinquante paise seulement

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)

Enregistrez votre classeur au format fichier compatible avec les macros

Convertir des nombres en USD, EUR et 30+ autres devises (toutes les versions Microsoft)

Quand utiliser chaque méthode


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).

vba-editor

Étape 2. Allez dans Insertion > Module.

select-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
paste-code

Étape 4. Enregistrez votre travail et revenez à Excel.

Étape 5. Sélectionnez une cellule et appliquez la formule comme suit :

=ConvertToRupees(A2)

Appuyez sur la touche Entrée.

use-formula

💡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 :

=NumberToWordsCustom(A2, «Dollars», «Cents»)
vba-formula-to-other-currency

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

use-save-as

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

use-save-as-macro-enabled

É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.

select-name-manager

Étape 2 : créez un nouveau nom.

  • Cliquez sur le bouton Nouveau.

    create-new-name
  • Saisissez un Nom.

    Exemple : RupeeToWords

    create-name
  • É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 ))
  • paste-lambda-function
  • 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 :

=RupeeToWords(A2)

Appuyez sur la touche Entrée.

use-lambda-formula

👀 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.
Télécharger

1. Sélectionnez les cellules que vous souhaitez convertir.

select-cells

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

select-numbers-to-words

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

select-currency-in-dialog

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

kutools-convert-result

😁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 :

convert-to-words

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

🤖Kutools IA Aide: Révolutionnez Analyse des données grâce à :Exécution intelligente   |  Générez du code|  Créez formules personnalisées  |  Analysez des données et générez des graphiques|  Appelez Fonctions améliorées
Fonctionnalités populaires:Rechercher, mettre en surbrillance ou Marquer les doublons   |  Supprimer les lignes vides   |  Combinez les colonnes ou cellules sans perdre de données   |   Arrondi sans utiliser de formule...
Super RECHERCHEV:RechercheValeurs avec critères multiples  |  RechercheValeurs avec valeurs multiples  |   RechercheValeurs dans plusieurs feuilles   |   Correspondance floue....
Liste déroulante avancée:Créez rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante à sélection multiple....
Gestionnaire de colonnes:Ajouter un nombre précis de colonnes|Déplacer des colonnes|Basculer la visibilité des colonnes masquées|Comparer des plages et des colonnes...
Fonctionnalités vedettes:Mise au point de la grille   |  Vue de conception   |Barre de formule améliorée   | Gestionnaire de classeurs et de feuilles   |  Bibliothèque de ressources(Texte automatique)|  Sélecteur de date   |  Consolider les feuilles de calcul  |  Chiffrer/Déchiffrer les cellules   | Envoyer des e-mails par liste   |  Super Filtre   |   Filtre spécial(Filtrer les cellules avec une police en gras/italique/barré...) ...
… et bien plus encore… et plus encore:(,)Supprimer des caractères spécifiques, ...)|   50+Typesde graphiques(, ...)|   40+ Formules pratiques(Calculer l'âge en fonction de la date de naissance, ...)|   19 Outils d’insertion(,Insérer une image depuis un chemin , ...)|   de conversion (Convertir en mots,Conversion de devises, ...)|Fusionner et scinder   (Fusion avancée des lignes,Diviser les cellules , ...)|, ...)   |
Utilisez Kutools dans la langue de votre choix – disponible en anglais, espagnol, allemand, français, chinois et 40+ autres langues !

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.

ExcelWordOutlookTabsPowerPoint
  • 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