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

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

  • Classeur1.xlsx
    8.5 KB · Affichages: 6

patricktoulon

XLDnaute Barbatruc
@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
 

mapomme

XLDnaute Barbatruc
Supporter XLD
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
 

TooFatBoy

XLDnaute Barbatruc
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:

mapomme

XLDnaute Barbatruc
Supporter XLD
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

  • vincentast- Nombre en lettres- v1.xlsx
    12.1 KB · Affichages: 9

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
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

  • 01 Nombre en lettres mapomme v1.xlsx
    12.5 KB · Affichages: 3

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…