Convertir un chiffre en lettres sur Excel : Le guide complet
Excel est un outil indispensable pour de nombreux professionnels, et la capacité de convertir chiffre en lettre excel est une compétence précieuse. Bien qu'Excel ne possède pas de fonction intégrée dédiée, il existe plusieurs méthodes pour accomplir cette tâche. Explorons ensemble ces différentes approches.
Pourquoi convertir un chiffre en lettres sur Excel ?
La conversion de chiffres en lettres est souvent requise dans des contextes spécifiques, tels que :
- Chèques : Pour éviter les fraudes, les montants des chèques sont généralement écrits en lettres.
- Factures : Certaines entreprises préfèrent indiquer les montants en lettres pour une meilleure clarté et éviter les erreurs de lecture.
- Documents comptables et financiers : Pour une présentation plus formelle et une meilleure traçabilité.
- Contrats : Afin d'éviter toute ambigüité et sécuriser les transactions.
Méthode 1 : Utiliser une fonction personnalisée (VBA)
La méthode la plus courante et la plus flexible consiste à créer une fonction personnalisée en utilisant le VBA (Visual Basic for Applications). Cette fonction pourra ensuite être utilisée comme n'importe quelle autre fonction Excel.
Étape 1 : Ouvrir l'éditeur VBA
- Ouvrez votre fichier Excel.
- Appuyez sur les touches
Alt + F11pour ouvrir l'éditeur VBA.
Étape 2 : Insérer un module
- Dans l'éditeur VBA, allez dans
Insertion > Module.
Étape 3 : Copier et coller le code VBA
Collez le code VBA suivant dans le module :
Function ChiffreEnLettre(Nombre As Double, Optional Devise As String = "Euros") As String
Dim Unite, Dizaine, Centaine, Milliers, Millions, Milliards As String
Dim Cts As String
Dim PartieEntiere As Long, PartieDecimale As Integer
'--- Gestion des erreurs
If Nombre < 0 Then
ChiffreEnLettre = "Moins " & ChiffreEnLettre(Abs(Nombre), Devise)
Exit Function
End If
If Nombre > 999999999999.99 Then
ChiffreEnLettre = "Nombre trop grand"
Exit Function
End If
'--- Initialisation des variables
PartieEntiere = Int(Nombre)
PartieDecimale = Round((Nombre - PartieEntiere) * 100)
'--- 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("", "Dix", "Vingt", "Trente", "Quarante", "Cinquante", "Soixante", "Soixante-dix", "Quatre-vingts", "Quatre-vingt-dix")
Centaine = Array("", "Cent", "Deux cents", "Trois cents", "Quatre cents", "Cinq cents", "Six cents", "Sept cents", "Huit cents", "Neuf cents")
'--- Fonction de conversion interne
Function Convertir(Montant As Long) As String
Dim C As Integer, D As Integer, U As Integer
C = Int(Montant / 100)
D = Int((Montant Mod 100) / 10)
U = Montant Mod 10
If C > 0 Then
Convertir = Centaine(C) & " "
End If
If D = 1 Then
Convertir = Convertir & Unite(10 + U) & " "
ElseIf D > 1 Then
Convertir = Convertir & Dizaine(D) & " "
If U > 0 Then
If D = 7 And U = 1 Then
Convertir = Convertir & "et " & Unite(U) & " "
ElseIf D = 9 And U = 1 Then
Convertir = Convertir & "et " & Unite(U) & " "
Else
Convertir = Convertir & Unite(U) & " "
End If
End If
Else
Convertir = Convertir & Unite(U) & " "
End If
End Function
'--- Traitement des milliards
If PartieEntiere >= 1000000000 Then
Milliards = Convertir(Int(PartieEntiere / 1000000000)) & " Milliards "
PartieEntiere = PartieEntiere Mod 1000000000
End If
'--- Traitement des millions
If PartieEntiere >= 1000000 Then
Millions = Convertir(Int(PartieEntiere / 1000000)) & " Millions "
PartieEntiere = PartieEntiere Mod 1000000
End If
'--- Traitement des milliers
If PartieEntiere >= 1000 Then
Milliers = Convertir(Int(PartieEntiere / 1000)) & " Mille "
PartieEntiere = PartieEntiere Mod 1000
End If
'--- Traitement des unités
If PartieEntiere > 0 Then
Unite = Convertir(PartieEntiere) & " "
End If
'--- Gestion du "Un"
If PartieEntiere = 1 Then
If Milliards = "" And Millions = "" And Milliers = "" Then
Devise = Left(Devise, Len(Devise) - 1)
End If
End If
'--- Construction du résultat
ChiffreEnLettre = Trim(Milliards & Millions & Milliers & Unite & Devise)
'--- Gestion des centimes
If PartieDecimale > 0 Then
Cts = " et " & PartieDecimale & "/100"
ChiffreEnLettre = ChiffreEnLettre & Cts
End If
End Function
Étape 4 : Utiliser la fonction dans Excel
- Fermez l'éditeur VBA.
- Dans votre feuille Excel, vous pouvez maintenant utiliser la fonction
ChiffreEnLettrecomme ceci :=ChiffreEnLettre(A1)où A1 contient le nombre à convertir. - Vous pouvez également spécifier la devise :
=ChiffreEnLettre(A1;"Dollars")
Exemple :
Si la cellule A1 contient la valeur 1234.56, la formule =ChiffreEnLettre(A1) renverra "Mille Deux Cent Trente-Quatre Euros et 56/100".
Méthode 2 : Utiliser des formules Excel (Complexe mais possible)
Bien que plus complexe, il est possible de convertir chiffre en lettre excel en utilisant des formules Excel. Cette méthode est moins flexible que le VBA mais peut être utile si vous ne pouvez pas utiliser de macros.
Cette méthode implique l'utilisation combinée de fonctions telles que SI, CHOISIR, GAUCHE, DROITE, NBCAR, RECHERCHEV, et d'autres fonctions de texte. Elle est fortement déconseillée pour des montants importants car elle devient rapidement ingérable.
Exemple simplifié (pour les chiffres de 1 à 9) :
Supposons que la cellule A1 contienne un chiffre entre 1 et 9. Vous pouvez utiliser la formule suivante :
=CHOISIR(A1;"Un";"Deux";"Trois";"Quatre";"Cinq";"Six";"Sept";"Huit";"Neuf")
Cette formule utilise la fonction CHOISIR pour renvoyer le texte correspondant au chiffre contenu dans la cellule A1. Pour des montants plus importants, il faudrait imbriquer un grand nombre de fonctions SI et CHOISIR, ce qui rend la formule très complexe et difficile à maintenir.
Méthode 3 : Utiliser un complément Excel
Il existe des compléments Excel disponibles en ligne qui peuvent vous aider à convertir chiffre en lettre excel. Ces compléments sont souvent payants, mais ils peuvent offrir une solution plus simple et plus rapide si vous avez besoin de cette fonctionnalité fréquemment.
Comment utiliser un complément Excel :
- Recherchez et téléchargez un complément Excel fiable qui offre la fonctionnalité de conversion de chiffres en lettres. Assurez-vous de télécharger le complément à partir d'une source sûre.
- Installez le complément en suivant les instructions fournies par le développeur.
- Activez le complément dans Excel (Fichier > Options > Compléments > Compléments Excel > Atteindre...).
- Utilisez la fonction fournie par le complément pour convertir vos chiffres en lettres. La syntaxe de la fonction dépendra du complément que vous avez installé.
Bonnes pratiques et astuces
- Utilisez la fonction VBA pour une flexibilité maximale : La fonction VBA est la méthode la plus flexible car vous pouvez la personnaliser selon vos besoins.
- Testez votre fonction : Assurez-vous de tester votre fonction avec différents nombres pour vérifier qu'elle fonctionne correctement.
- Gérez les erreurs : Ajoutez une gestion des erreurs à votre fonction VBA pour éviter les problèmes si l'utilisateur entre une valeur incorrecte.
- Utilisez un complément de confiance : Si vous utilisez un complément, assurez-vous qu'il provient d'une source fiable pour éviter les problèmes de sécurité.
- Formatez correctement vos nombres : Assurez-vous que vos nombres sont formatés correctement dans Excel avant de les convertir en lettres.
Erreurs à éviter
- Ne pas utiliser de code VBA non fiable : Évitez de copier du code VBA à partir de sources non fiables, car il pourrait contenir des erreurs ou des virus.
- Ne pas tester la fonction : Assurez-vous de tester votre fonction avec différents nombres pour vérifier qu'elle fonctionne correctement.
- Ne pas gérer les erreurs : Ajoutez une gestion des erreurs à votre fonction VBA pour éviter les problèmes si l'utilisateur entre une valeur incorrecte.
- Utiliser des formules Excel trop complexes : Évitez d'utiliser des formules Excel trop complexes, car elles peuvent être difficiles à maintenir et à déboguer.
Conclusion
Convertir chiffre en lettre excel est une tâche qui peut être accomplie de différentes manières. La méthode VBA est la plus flexible et la plus recommandée, mais les formules Excel et les compléments peuvent également être utilisés. En suivant les conseils et les astuces présentés dans cet article, vous serez en mesure de convertir facilement vos chiffres en lettres sur Excel et d'améliorer la présentation de vos documents.