Conversion

Comment convertir un chiffre en lettre sur Excel ? Méthodes et Astuces

15 janvier 2026 7 vues

Vous est-il déjà arrivé de devoir transcrire des montants numériques en toutes lettres dans Excel, que ce soit pour des factures, des chèques ou des documents comptables ? Cette tâche, bien que fastidieuse, est essentielle pour garantir la clarté et la conformité de vos documents. Heureusement, Excel offre plusieurs solutions pour automatiser cette conversion, vous évitant ainsi des erreurs de saisie et un gain de temps précieux. Dans cet article, nous allons explorer différentes méthodes, des plus simples aux plus avancées, pour convertir un chiffre en lettre sur Excel, afin que vous puissiez choisir celle qui correspond le mieux à vos besoins et à votre niveau de maîtrise du logiciel.

Convertir un chiffre en lettre Excel : Guide Complet

La conversion d'un chiffre en lettre dans Excel est une fonctionnalité souvent recherchée, notamment dans les domaines de la comptabilité, de la finance et de l'administration. Bien qu'Excel ne propose pas de fonction native dédiée à cette conversion, il existe plusieurs méthodes pour y parvenir. Nous allons explorer les différentes options, des plus simples (utilisation d'un code VBA) aux plus complexes (création d'une fonction personnalisée complète).

Pourquoi convertir un chiffre en lettre sur Excel ?

La nécessité de convertir un chiffre en lettre se présente dans divers contextes :

  • Chèques : Pour éviter toute ambiguïté ou fraude, le montant d'un chèque doit être indiqué à la fois en chiffres et en lettres.
  • Factures : Certaines normes comptables ou exigences légales imposent la mention du montant en lettres sur les factures.
  • Contrats : Les montants importants dans les contrats sont souvent précisés en lettres pour éviter toute contestation.
  • Présentations financières : Pour une meilleure lisibilité et compréhension, il peut être utile de présenter certains montants en lettres.

Méthode 1 : Utilisation d'un code VBA simple (Fonction personnalisée)

La méthode la plus courante et la plus flexible consiste à utiliser un code VBA (Visual Basic for Applications) pour créer une fonction personnalisée. Cette fonction prendra un chiffre en entrée et renverra sa représentation en lettres. Voici les étapes à suivre :

  1. Ouvrez l'éditeur VBA : Dans Excel, appuyez simultanément sur les touches Alt + F11. Cela ouvrira la fenêtre de l'éditeur VBA.
  2. Insérez un nouveau module : Dans l'éditeur VBA, allez dans Insertion > Module. Une nouvelle fenêtre de code s'ouvrira.
  3. Copiez et collez le code VBA suivant :
Function NombreEnLettres(Nombre As Double) As String
Dim Unite, Dizaine, Centaine, Resultat As String
Dim Entier As Long, Decimales As Integer

' Partie entière
Entier = Int(Nombre)

' Gestion des décimales (2 chiffres)
Decimales = Round((Nombre - Entier) * 100)

' Traitement de la partie entière
If Entier = 0 Then
    Resultat = "zéro"
Else
    Resultat = ConvertirNombre(Entier)
End If

' Ajout des décimales
If Decimales > 0 Then
    Resultat = Resultat & " virgule " & ConvertirNombre(Decimales)
End If

NombreEnLettres = Resultat
End Function


Function ConvertirNombre(Nombre As Long) As String
Dim Unite(1 To 19) As String
Dim Dizaine(2 To 9) As String
Dim Centaine(1 To 9) As String
Dim i As Integer
Dim Resultat As String

' Initialisation des tableaux
Unite(1) = "un": Unite(2) = "deux": Unite(3) = "trois": Unite(4) = "quatre": Unite(5) = "cinq"
Unite(6) = "six": Unite(7) = "sept": Unite(8) = "huit": Unite(9) = "neuf": Unite(10) = "dix"
Unite(11) = "onze": Unite(12) = "douze": Unite(13) = "treize": Unite(14) = "quatorze": Unite(15) = "quinze"
Unite(16) = "seize": Unite(17) = "dix-sept": Unite(18) = "dix-huit": Unite(19) = "dix-neuf"
Dizaine(2) = "vingt": Dizaine(3) = "trente": Dizaine(4) = "quarante": Dizaine(5) = "cinquante"
Dizaine(6) = "soixante": Dizaine(7) = "soixante-dix": Dizaine(8) = "quatre-vingts": Dizaine(9) = "quatre-vingt-dix"
Centaine(1) = "cent": Centaine(2) = "deux cents": Centaine(3) = "trois cents": Centaine(4) = "quatre cents"
Centaine(5) = "cinq cents": Centaine(6) = "six cents": Centaine(7) = "sept cents": Centaine(8) = "huit cents": Centaine(9) = "neuf cents"

' Traitement des centaines
If Nombre >= 100 Then
    i = Int(Nombre / 100)
    Resultat = Centaine(i) & " "
    Nombre = Nombre Mod 100
End If

' Traitement des dizaines
If Nombre >= 20 Then
    i = Int(Nombre / 10)
    Resultat = Resultat & Dizaine(i)
    Nombre = Nombre Mod 10
    If Nombre > 0 Then
        If i = 7 Or i = 9 Then
            Resultat = Resultat & "-" & Unite(Nombre)
        Else
            Resultat = Resultat & " et " & Unite(Nombre)
        End If
    End If
ElseIf Nombre >= 10 Then
    Resultat = Resultat & Unite(Nombre)
    Nombre = 0
ElseIf Nombre > 0 Then
    Resultat = Resultat & Unite(Nombre)
    Nombre = 0
End If

ConvertirNombre = Resultat
End Function
  1. Fermez l'éditeur VBA : Une fois le code copié, fermez la fenêtre de l'éditeur VBA.
  2. Utilisez la fonction dans Excel : Dans une cellule Excel, vous pouvez maintenant utiliser la fonction NombreEnLettres. Par exemple, si la cellule A1 contient le chiffre à convertir, vous pouvez écrire =NombreEnLettres(A1) dans une autre cellule pour afficher le montant en lettres.

Exemple :

Si la cellule A1 contient la valeur 123.45, la formule =NombreEnLettres(A1) affichera cent vingt-trois virgule quarante-cinq.

Avantages :

  • Facile à implémenter (copier-coller du code).
  • Fonctionne directement dans Excel.
  • Personnalisable (vous pouvez modifier le code pour l'adapter à vos besoins).

Inconvénients :

  • Nécessite d'activer les macros dans Excel (ce qui peut poser des problèmes de sécurité si vous téléchargez des fichiers Excel provenant de sources inconnues).
  • Le code VBA peut être complexe à comprendre pour les débutants.
  • La fonction n'est disponible que dans le classeur où le code VBA est inséré. Pour l'utiliser dans d'autres classeurs, il faut copier le module VBA.

Méthode 2 : Utilisation d'un complément Excel (Add-in)

Une autre option consiste à utiliser un complément Excel (add-in) spécialement conçu pour convertir les chiffres en lettres. Il existe plusieurs compléments disponibles, certains gratuits et d'autres payants.

  1. Recherchez et installez un complément : Allez dans l'onglet Insertion > Compléments > Télécharger des compléments. Recherchez un complément de conversion de chiffres en lettres (par exemple, "Convert Number to Words") et installez-le.
  2. Utilisez le complément : Une fois le complément installé, il apparaîtra dans votre ruban Excel ou dans un volet latéral. Suivez les instructions du complément pour convertir les chiffres en lettres.

Avantages :

  • Facile à installer et à utiliser (pas besoin de copier du code VBA).
  • Souvent plus complets et offrent des options de personnalisation avancées (formats de devise, langues, etc.).

Inconvénients :

  • Peut nécessiter l'installation d'un logiciel tiers.
  • Certains compléments peuvent être payants.
  • La qualité et la fiabilité des compléments peuvent varier.

Méthode 3 : Utilisation d'une formule Excel (limitée)

Il est possible d'utiliser une formule Excel, mais cette méthode est très complexe et limitée. Elle ne fonctionne que pour des nombres entiers et nécessite une formule très longue et imbriquée. Cette méthode est déconseillée pour des raisons de lisibilité et de maintenance.

Exemple (très limité, uniquement pour les nombres de 1 à 5) :

=SI(A1=1;"un";SI(A1=2;"deux";SI(A1=3;"trois";SI(A1=4;"quatre";SI(A1=5;"cinq";"Nombre non supporté")))))

Avantages :

  • Pas besoin de VBA ni de complément.

Inconvénients :

  • Extrêmement complexe et difficile à maintenir.
  • Ne fonctionne que pour une plage de nombres très limitée.
  • Non recommandée.

Bonnes pratiques et erreurs à éviter

  • Activez les macros avec prudence : Si vous utilisez un code VBA, assurez-vous de ne l'activer que pour les fichiers Excel provenant de sources sûres.
  • Testez la fonction : Après avoir installé un code VBA ou un complément, testez la fonction avec différents nombres (positifs, négatifs, décimaux) pour vérifier qu'elle fonctionne correctement.
  • Adaptez le code : Si le code VBA ne correspond pas exactement à vos besoins (par exemple, si vous avez besoin d'un format de devise spécifique), n'hésitez pas à le modifier.
  • Documentez le code : Si vous modifiez le code VBA, ajoutez des commentaires pour expliquer ce que chaque partie du code fait. Cela facilitera la maintenance et la compréhension du code par d'autres personnes.
  • Évitez les formules trop complexes : Si vous utilisez une formule Excel, essayez de la simplifier au maximum pour faciliter sa lecture et sa maintenance. Dans la plupart des cas, il est préférable d'utiliser un code VBA ou un complément.

Conclusion

La conversion d'un chiffre en lettre dans Excel peut être réalisée de différentes manières, chacune ayant ses avantages et ses inconvénients. L'utilisation d'un code VBA est la méthode la plus courante et la plus flexible, mais elle nécessite d'activer les macros et peut être complexe pour les débutants. Les compléments Excel offrent une solution plus simple à installer et à utiliser, mais peuvent être payants. L'utilisation d'une formule Excel est possible, mais elle est très limitée et déconseillée. En choisissant la méthode qui correspond le mieux à vos besoins et à votre niveau de maîtrise d'Excel, vous pourrez automatiser cette tâche et gagner du temps précieux.

Questions fréquentes

Excel a-t-il une fonction native pour convertir les chiffres en lettres ?

Non, Excel ne propose pas de fonction intégrée pour convertir directement un chiffre en lettres. Vous devez utiliser une des méthodes décrites dans cet article, comme l'utilisation d'un code VBA ou l'installation d'un complément.

Le code VBA est-il sûr à utiliser ?

L'utilisation de code VBA peut présenter des risques de sécurité si vous téléchargez des fichiers Excel provenant de sources inconnues. Assurez-vous de n'activer les macros que pour les fichiers dont vous êtes sûr de la provenance.

Puis-je utiliser la fonction NombreEnLettres dans n'importe quel classeur Excel ?

Par défaut, la fonction NombreEnLettres n'est disponible que dans le classeur où le code VBA a été inséré. Pour l'utiliser dans d'autres classeurs, vous devez copier le module VBA dans ces classeurs.

Existe-t-il des compléments Excel gratuits pour convertir les chiffres en lettres ?

Oui, il existe plusieurs compléments Excel gratuits disponibles sur le Microsoft AppSource. Recherchez "convert number to words" ou des termes similaires pour trouver ces compléments.

La conversion fonctionne-t-elle pour les nombres décimaux et négatifs ?

Le code VBA fourni dans cet article gère les nombres décimaux. Vous pouvez l'adapter pour gérer les nombres négatifs si nécessaire en ajoutant une condition au début de la fonction.

Mots-clés associés :

vba excel macros excel fonction personnalisée excel formule excel chiffre en lettre complément excel gratuit

Partager cet article :