Convertir un chiffre en lettres sur Excel : Le guide complet
Excel est un outil puissant pour la gestion de données et les calculs, mais il lui manque une fonction intégrée pour convertir directement un chiffre en lettres. Heureusement, il existe plusieurs solutions pour pallier cette lacune. Nous allons explorer les méthodes les plus courantes et efficaces.
Pourquoi convertir un chiffre en lettres sur Excel ?
La conversion de chiffres en lettres est souvent nécessaire dans des contextes spécifiques, notamment :
- Documents financiers : Chèques, factures, contrats, etc., exigent souvent que les montants soient indiqués à la fois en chiffres et en lettres pour éviter les fraudes et les erreurs.
- Documents administratifs : Certains formulaires ou rapports peuvent également nécessiter cette conversion.
- Automatisation : Automatiser la conversion permet de gagner du temps et de réduire les risques d'erreurs de saisie.
Méthode 1 : Utilisation d'une fonction personnalisée (VBA)
La méthode la plus flexible et puissante consiste à créer une fonction personnalisée en utilisant le langage VBA (Visual Basic for Applications). Cette fonction pourra ensuite être appelée directement depuis vos feuilles de calcul Excel.
Étape 1 : Ouvrir l'éditeur VBA
- Ouvrez votre classeur Excel.
- Appuyez sur les touches
Alt + F11pour ouvrir l'éditeur VBA.
Étape 2 : Insérer un nouveau module
- Dans l'éditeur VBA, allez dans le menu
Insertion>Module. - Un nouveau module vide s'ouvre.
Étape 3 : Copier et coller le code VBA
Copiez le code VBA suivant et collez-le dans le module :
Function NombreEnLettres(ByVal Montant As Double, Optional ByVal Devise As String = "Euros") As String
Dim Unite, Dizaine, Centaine, Resultat, Decimale As String
Dim PartieEntiere As Long
Dim PartieDecimale As Integer
'Définition des unités
Unite = Array("", "un ", "deux ", "trois ", "quatre ", "cinq ", "six ", "sept ", "huit ", "neuf ", "dix ", "onze ", "douze ", "treize ", "quatorze ", "quinze ", "seize ", "dix-sept ", "dix-huit ", "dix-neuf ")
Dizaine = Array("", "", "vingt ", "trente ", "quarante ", "cinquante ", "soixante ", "soixante-dix ", "quatre-vingts ", "quatre-vingt-dix ")
'Séparation partie entière et décimale
PartieEntiere = Int(Montant)
PartieDecimale = Round((Montant - PartieEntiere) * 100)
'Conversion partie entière
Resultat = ConvertirNombre(PartieEntiere, Unite, Dizaine)
'Ajout de la devise
If PartieEntiere > 1 Then
Resultat = Resultat & " " & Devise
ElseIf PartieEntiere = 1 Then
Resultat = Resultat & " " & Left(Devise, Len(Devise) - 1)
Else
Resultat = "Zéro " & Devise
End If
'Conversion partie décimale
If PartieDecimale > 0 Then
Resultat = Resultat & " et " & ConvertirNombre(PartieDecimale, Unite, Dizaine) & " centimes"
End If
NombreEnLettres = Resultat
End Function
Function ConvertirNombre(ByVal Nombre As Long, Unite As Variant, Dizaine As Variant) As String
Dim Centaine As Integer
Dim Resultat As String
Centaine = Int(Nombre / 100)
Nombre = Nombre Mod 100
If Centaine > 0 Then
Resultat = Unite(Centaine) & "cent "
Else
Resultat = ""
End If
If Nombre < 20 Then
Resultat = Resultat & Unite(Nombre)
Else
Resultat = Resultat & Dizaine(Int(Nombre / 10))
If Nombre Mod 10 > 0 Then
If Int(Nombre / 10) = 7 Or Int(Nombre / 10) = 9 Then
Resultat = Resultat & " et " & Unite(Nombre Mod 10)
Else
Resultat = Resultat & Unite(Nombre Mod 10)
End If
End If
End If
ConvertirNombre = Resultat
End Function
Description du code :
- La fonction
NombreEnLettresprend en entrée un nombre (Montant) et une devise optionnelle (Devise). - Elle sépare la partie entière et la partie décimale du nombre.
- Elle utilise la fonction
ConvertirNombrepour convertir chaque partie en lettres. - Elle assemble les différentes parties et ajoute la devise appropriée.
- La fonction
ConvertirNombregère la conversion des nombres inférieurs à 1000.
Étape 4 : Fermer l'éditeur VBA
Fermez l'éditeur VBA. Votre fonction est maintenant disponible dans Excel.
Étape 5 : Utiliser la fonction dans Excel
- Dans votre feuille de calcul, sélectionnez une cellule.
- Tapez la formule suivante :
=NombreEnLettres(A1)(remplacezA1par la cellule contenant le chiffre à convertir). - Appuyez sur
Entrée. Le chiffre sera converti en lettres.
Exemple :
Si la cellule A1 contient la valeur 123.45, la formule =NombreEnLettres(A1) affichera cent vingt-trois Euros et quarante-cinq centimes.
Personnalisation de la devise
Vous pouvez personnaliser la devise en passant un deuxième argument à la fonction. Par exemple, =NombreEnLettres(A1, "Dollars") affichera le montant en dollars.
Méthode 2 : Utilisation d'un complément Excel
Si vous ne souhaitez pas utiliser VBA, vous pouvez installer un complément Excel qui propose cette fonctionnalité. Plusieurs compléments sont disponibles en ligne, certains gratuits et d'autres payants.
Recherche et installation d'un complément
- Allez dans l'onglet
Insertion>Compléments>Obtenir des compléments. - Recherchez un complément permettant de convertir les chiffres en lettres (par exemple, "Convertisseur de nombres en lettres").
- Sélectionnez le complément et cliquez sur
Ajouter.
Utilisation du complément
L'utilisation du complément dépendra de son interface. Généralement, il vous suffira de sélectionner la cellule contenant le chiffre et de cliquer sur un bouton pour obtenir la conversion en lettres.
Avantages :
- Facile à installer et à utiliser.
- Pas besoin de connaissances en VBA.
Inconvénients :
- Dépendance à un complément tiers.
- Peut être payant.
- La qualité et la sécurité du complément peuvent varier.
Méthode 3 : Utilisation de formules Excel (complexe)
Il est possible de créer une formule Excel complexe pour convertir les chiffres en lettres, mais cette méthode est généralement déconseillée car elle est difficile à mettre en œuvre et à maintenir.
Principe de la formule
La formule consiste à décomposer le nombre en unités, dizaines, centaines, etc., et à utiliser des fonctions SI et CHOISIR pour associer chaque composant à sa représentation littérale.
Exemple (simplifié pour les nombres inférieurs à 100)
=SI(A1<20;CHOISIR(A1+1;"";"un";"deux";"trois";"quatre";"cinq";"six";"sept";"huit";"neuf";"dix";"onze";"douze";"treize";"quatorze";"quinze";"seize";"dix-sept";"dix-huit";"dix-neuf");SI(A1<100;CHOISIR(ENT(A1/10);"";"";"vingt ";"trente ";"quarante ";"cinquante ";"soixante ";"soixante-dix ";"quatre-vingts ";"quatre-vingt-dix ")&SI(MOD(A1;10)>0;"-"&CHOISIR(MOD(A1;10)+1;"";"un";"deux";"trois";"quatre";"cinq";"six";"sept";"huit";"neuf");"");""))
Limitations :
- Très complexe à adapter pour les nombres plus grands.
- Difficile à comprendre et à modifier.
- Non recommandée pour une utilisation régulière.
Conseils et astuces
- Choisissez la méthode adaptée à vos besoins : Si vous avez besoin d'une solution simple et rapide, un complément peut être suffisant. Si vous avez besoin de plus de flexibilité et de personnalisation, la fonction VBA est la meilleure option.
- Testez votre fonction ou complément : Vérifiez que la conversion est correcte pour différents types de nombres, y compris les nombres décimaux et les nombres négatifs.
- Documentez votre code VBA : Ajoutez des commentaires à votre code VBA pour faciliter sa compréhension et sa maintenance.
- Sécurisez vos compléments : Téléchargez les compléments uniquement à partir de sources fiables pour éviter les logiciels malveillants.
- Utilisez la mise en forme conditionnelle : Vous pouvez utiliser la mise en forme conditionnelle pour mettre en évidence les cellules contenant des chiffres convertis en lettres.
Erreurs à éviter
- Ne pas vérifier la conversion : Assurez-vous que la conversion est correcte, surtout pour les montants importants.
- Utiliser des compléments non fiables : Téléchargez les compléments uniquement à partir de sources sûres.
- Oublier de documenter le code VBA : La documentation est essentielle pour la maintenance du code.
- Ne pas gérer les erreurs : Prévoyez des mécanismes de gestion des erreurs dans votre code VBA pour éviter les plantages.
Conclusion
Bien qu'Excel ne propose pas de fonction native pour convertir les chiffres en lettres, il existe plusieurs solutions efficaces pour pallier cette lacune. La création d'une fonction personnalisée en VBA est la méthode la plus flexible et puissante, tandis que l'utilisation d'un complément peut être plus simple et rapide. Quelle que soit la méthode choisie, il est important de tester la conversion et de sécuriser vos données. Avec ces conseils et astuces, vous êtes maintenant prêt à convertir facilement vos chiffres en lettres sur Excel et à optimiser vos documents financiers et administratifs.