Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Formule pour écrire des chiffres en lettre

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

vincentast

XLDnaute Junior
bonjour à tous
j'ai besoin de votre aide, j'aimerai pouvoir dans ma cellule A2 écrire en lettre la valeur de la cellule A1, et sans à avoir utiliser une Macro.
Je vous passe en pièce jointe un fichier Excel.
Merci beaucoup pour votre aide

vincent
 

Pièces jointes

@riton00 bonsoir
c'est pas mal du tout
j'ai neanmoins ajouter le "D'" quand c'est néccessaire et le " Et " pour les centime quand c'est necessaire
la formule en B1
VB:
=SI(ENT(A1)=0;"ZERO ";$H$6&SI($G$6>0;" MILLIARD"&SI($G$6>1;"S";);)&SI(A1>10^9;" ";)&$H$8&SI($G$8>0;" MILLION"&SI($G$8>1;"S";);)&SI(A1>10^6;" ";)&SI($G$10>1;$H$10&" MILLE";SI($G$10=1;"MILLE";))&SI(A1>10^3;" ";))&SI($G$12>0;$H$12;)&SI(ENT($G$12)>0;" ";)&SI(MOD(ENT(A1);1000000)=0;"D'";"")&"EURO"&SI(ENT(A1)>1;"S";)&SI($G$14>0;" "&$H$14&" CENTIME"&SI($G$14>1;"S";);)
la formule en H14
Code:
= SI(MOD(A1;1)>0;" ET ";"") &SI(G14>99;CHOISIR(G14/100;;"DEUX ";"TROIS ";"QUATRE ";"CINQ ";"SIX ";"SEPT ";"HUIT ";"NEUF ")&"CENT"&SI(G14>100;SI(MOD(G14;100)=0;"S";" "););)&CHOISIR(MOD(G14/10;10)+1;;;"VINGT";"TRENTE";"QUARANTE";"CINQUANTE";"SOIXANTE";"SOIXANTE";"QUATRE-VINGT"&SI(MOD(G14;10)=0;"S";);"QUATRE-VINGT")&SI(MOD(G14;100)<20;;SI(ET(OU(MOD(G14;10)<>0;MOD(G14;100)=70;MOD(G14;100)=90));SI(ET(MOD(G14;10)=1;MOD(G14;100)<80);" ET ";"-");))&CHOISIR(MOD(G14;100)-CHOISIR(MOD(G14/10;10)+1;;;2;3;4;5;6;6;8;8)*10+1;;"UN";"DEUX";"TROIS";"QUATRE";"CINQ";"SIX";"SEPT";"HUIT";"NEUF";"DIX";"ONZE";"DOUZE";"TREIZE";"QUATORZE";"QUINZE";"SEIZE";"DIX-SEPT";"DIX-HUIT";"DIX-NEUF")

je serais bien tenté de mettre toute ces formule dans des names avec "evaluer(...formule..)
pour pouvoir s'en servir dans la colonne entière 😉
 
Bonsoir à tous 🙂,
Donc, Dudu, "Sur demande", je pense que tu réponds aux critères...
Moi je propose que les membres à signature votent tous sur la possibilité que @Dudu2 puisse ou non apposer une signature à ses messages. Il est temps que ce forum applique enfin les usages de la démocratie.
Auparavant, il faudra bien sûr que @Dudu2 nous présente un casier judiciaire vierge et se fasse coopter par d'honorables membres de la confrérie de ceux qui la pète (je parle de la signature bien sûr).
Alors seulement en cas de vote positif commencera une durée probatoire d'environ 18 ans à l'issue de laquelle il sera autorisé (ou pas) à utiliser une signature au bas de ses messages.
Le chemin est long et parsemé d'embûches mais au bout de sa quête, le Graal lui apparaitra dans tout sa splendeur. Courage @Dudu2 !
Faut que j'arrête le schnaps moi 🥴
 
Juste pour en revenir à la signature, moi non plus je n'ai pas la possibilité d'en mettre une 😭
Normal :
Faut payer pour pouvoir changer sa signature.

Ou peut-être a-t-on un passe-droit quand on a plus de 10 000 messages ?... 🤔


Personne n'a lu la charte quand elle a été modifiée ???

Tu es Barbatruc, alors "Hula hup !" un MP au patron et tu l'as ta signature, mon Dudu. 😉
 
Dernière édition:
Bonjour à tous 🙂,

Après avoir bien pollué le message de @vincentast - moi y compris 😡 - revenons au sujet principal...

En fouillant sur le net (à l'adresse : http://www.excel-exercice.com/convertir-un-nombre-en-lettres/ ), j'ai trouvé cette formule (Excel 365) qui peut sans doute être encore améliorée mais qui est selon moi un excellent départ :
=LET( Denom; {" million ";" mille ";" Euro ";" Centimes"}; Nums; {""."Un"."Deux"."Trois"."Quatre"."Cinq"."Six"."Sept"."Huit"."Neuf"}; Teens; {"Dix"."Onze"."Douze"."Treize"."Quatorze"."Quinze"."Seize"."Dix-sept"."Dix-huit"."Dix-neuf"}; Tens; {""."Dix"."Vingt"." Trente"." Quarante"."Cinquante"."Soixante"." Soixante"."Quatre-vingt"."Quatre-vingt"}; grp; {0;1;2;3}; LET( N; SUBSTITUE( TEXTE( A1; REPT(0;9)&",00" );",";"0"); H; CNUM( STXT( N; 3*grp+1; 1) ); T; CNUM( STXT( N; 3*grp+2; 1) ); U; CNUM( STXT( N; 3*grp+3; 1) ); Htxt; SI( H; SI(H>1; INDEX( Nums; H+1 ) & " cent "; "cent " ); ""); Ttxt; SI( T>1; INDEX( Tens; T+1 ) & SI( U>0; " "; "" ); " " ); Utxt; SI((T+U); SI((T=1)+(T=7)+(T=9); INDEX(Teens;U+1 );INDEX(Nums;U+1))); SUPPRESPACE(SUBSTITUE(NOMPROPRE(CONCAT( SI( H+T+U; Htxt & Ttxt & Utxt & Denom; "" )));"Un Mille";"Mille")) ))
 

Pièces jointes

Bjr le Fil, le Forum 🙂
Fonction intéressante et plus simple d'utilisation que les autres fonctions puisque juste dans la cellule concernée.
Mais trop de manquements :
- les singuliers et pluriels,
- pas de "d'" avant euros quand nécessaire,
- pas de "et" après euros quand nécessaire,
- 1 000 000.25 = Un Million Vingt Cinq Centimes (pas d'euros),
- 17 000 000.01 = Dix-Sept Million Un Centimes (17 million au singulier - pas d'euros - 1 centime au pluriel),
- 1 000 000 000.25 = Cent Faux Million Deux Centimes (ne prend pas le milliard),
Etc....
lol J'ai tenté de corriger la fonction, mais trop "pointue" pour moi.
J'aime bien cette fonction, peut-être que l'un de nos ténors pourra la corriger.
En cas, je joins le petit fichier test de mapomme ...
Merci d'avance...
🙂
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
369
Réponses
1
Affichages
395
Réponses
5
Affichages
406
Réponses
4
Affichages
181
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…