Se connecter avec Microsoft
S'identifier ou créer un compte.
Bonjour,
Sélectionnez un autre compte.
Vous avez plusieurs comptes
Choisissez le compte avec lequel vous voulez vous connecter.

Excel n’a pas de fonction par défaut qui affiche des nombres sous forme de mots Français dans une feuille de calcul, mais vous pouvez ajouter cette fonctionnalité en collant le code de fonction SpellNumber suivant dans un module VBA (Visual Basic for Applications). Cette fonction vous permet de convertir des montants en euro et en cent en mots avec une formule, de sorte que 22,50 serait lu comme vingt-deux euros et cinq cents. Cela peut être très utile si vous utilisez Excel comme modèle pour imprimer des vérifications.

Si vous souhaitez convertir des valeurs numériques au format texte sans les afficher sous forme de mots, utilisez plutôt la Fonction TEXTE.

Remarque : Microsoft fournit des exemples de programmation à des fins d’illustration uniquement, sans garantie exprimée ou implicite. Cela inclut, sans s’y limiter, les garanties implicites de qualité commerciale ou d’adéquation à un usage particulier. Cet article part du principe que vous connaissez bien le langage de programmation VBA et les outils utilisés pour créer et déboguer des procédures. Les ingénieurs du support Microsoft peuvent vous aider à expliquer les fonctionnalités d’une procédure particulière. Toutefois, ils ne modifient pas ces exemples pour fournir des fonctionnalités ajoutées, ou créer des procédures pour répondre à vos besoins spécifiques.

Créer la fonction SpellNumber pour convertir des nombres en mots

  1. Utilisez le raccourci clavier Alt + F11 pour ouvrir le Visual Basic Editor (VBE).

    Remarque : Vous pouvez également accéder au Visual Basic Editor en affichant l’onglet Développeur dans votre ruban.

  2. Cliquez sur l’onglet Insertion, puis sur Module.

    Dans le menu Insertion, cliquez sur Module.
  3. Copiez les lignes de code suivantes.

    Remarque : Appelé Fonction définie par l’utilisateur ( UDF), ce code automatise la tâche de conversion de nombres en texte dans votre feuille de calcul.

    Option Explicit
    
    'Main Function
    
    Function SpellNumber(ByVal MyNumber)
    
    Dim Dollars, Cents, Temp
    
    Dim DecimalPlace, Count
    
    ReDim Place(9) As String
    
    Place(2) = " Thousand "
    
    Place(3) = " Million "
    
    Place(4) = " Billion "
    
    Place(5) = " Trillion "
    
    ' String representation of amount.
    
    MyNumber = Trim(Str(MyNumber))
    
    ' Position of decimal place 0 if none.
    
    DecimalPlace = InStr(MyNumber, ".")
    
    ' Convert cents and set MyNumber to dollar amount.
    
    If DecimalPlace > 0 Then
    
    Cents = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _ "00", 2))
    
    MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))
    
    End If
    
    Count = 1
    
    Do While MyNumber <> ""
    
    Temp = GetHundreds(Right(MyNumber, 3))
    
    If Temp <> "" Then Dollars = Temp & Place(Count) & Dollars
    
    If Len(MyNumber) > 3 Then
    
    MyNumber = Left(MyNumber, Len(MyNumber) - 3)
    
    Else
    
    MyNumber = ""
    
    End If
    
    Count = Count + 1
    
    Loop
    
    Select Case Dollars
    
    Case ""
    
    Dollars = "No Dollars"
    
    Case "One"
    
    Dollars = "One Dollar"
    
    Case Else
    
    Dollars = Dollars & " Dollars"
    
    End Select
    
    Select Case Cents
    
    Case ""
    
    Cents = " and No Cents"
    
    Case "One"
    
    Cents = " and One Cent"
    
    Case Else
    
    Cents = " and " & Cents & " Cents"
    
    End Select
    
    SpellNumber = Dollars & Cents
    
    End Function
    
    
    ' Converts a number from 100-999 into text
    
    Function GetHundreds(ByVal MyNumber)
    
    Dim Result As String
    
    If Val(MyNumber) = 0 Then Exit Function
    
    MyNumber = Right("000" & MyNumber, 3)
    
    ' Convert the hundreds place.
    
    If Mid(MyNumber, 1, 1) <> "0" Then
    
    Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "
    
    End If
    
    ' Convert the tens and ones place.
    
    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
    
    
    ' Converts a number from 10 to 99 into text.
    
    
    Function GetTens(TensText)
    
    Dim Result As String
    
    Result = "" ' Null out the temporary function value.
    
    If Val(Left(TensText, 1)) = 1 Then ' If value between 10-19...
    
    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"
    
    Case Else
    
    End Select
    
    Else ' If value between 20-99...
    
    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 "
    
    Case Else
    
    End Select
    
    Result = Result & GetDigit _
    
    (Right(TensText, 1)) ' Retrieve ones place.
    
    End If
    
    GetTens = Result
    
    End Function
    
    
    ' Converts a number from 1 to 9 into text.
    
    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
  4. Collez les lignes de code dans la zone Module1 (Code).

    Code collé dans la case Module1 (Code).
  5. Appuyez sur Alt + Q pour revenir à Excel. La fonction SpellNumber est maintenant prête à être utilisée.

    Remarque : Cette fonction fonctionne uniquement pour le classeur actuel. Pour utiliser cette fonction dans un autre classeur, vous devez répéter les étapes de copie et de collage du code dans ce classeur.

Haut de la page

Utiliser la fonction SpellNumber dans des cellules individuelles

  1. Tapez la formule =SpellNumber(A1) dans la cellule où vous souhaitez afficher un nombre écrit, où la notation A1 est la cellule contenant le nombre à convertir. Vous pouvez également taper manuellement la valeur comme =SpellNumber(22.50).

  2. Appuyez sur Entrée pour confirmer la formule.

Haut de la page

Enregistrer votre classeur de fonction SpellNumber

Excel ne peut pas enregistrer un classeur avec des fonctions macro au format de classeur sans macro standard (.xlsx). Si vous cliquez sur Fichier > Enregistrer. Une boîte de dialogue de Projet VB s’ouvre. cliquer sur Non.

Dans la boîte de dialogue du projet VB, cliquez sur Non.

Vous pouvez enregistrer votre fichier sous la forme d’un Classeur Excel prenant en charge les macros (.xlsm) pour conserver votre fichier dans son format actuel.

  1. Cliquez sur Fichier > Enregistrer sous.

  2. Cliquez sur le menu déroulant Type de fichier, puis sélectionnez Classeur Excel prenant en charge les macros.

  3. Cliquez sur Enregistrer.

Haut de la page

Voir aussi

TEXTE, fonction

Besoin d’aide ?

Vous voulez plus d’options ?

Explorez les avantages de l’abonnement, parcourez les cours de formation, découvrez comment sécuriser votre appareil, etc.

Les communautés vous permettent de poser des questions et d'y répondre, de donner vos commentaires et de bénéficier de l'avis d'experts aux connaissances approfondies.

Ces informations vous ont-elles été utiles ?

Dans quelle mesure êtes-vous satisfait(e) de la qualité de la langue ?
Qu’est-ce qui a affecté votre expérience ?
En cliquant sur Envoyer, vos commentaires seront utilisés pour améliorer les produits et services de Microsoft. Votre administrateur informatique sera en mesure de collecter ces données. Déclaration de confidentialité.

Nous vous remercions de vos commentaires.

×