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 🥴
 

patricktoulon

XLDnaute Barbatruc
@riton00
il y a quand même un soucis avec la formule (voir jusqu'a la fin )
demo.gif
 

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 ???
La charte du forum à dit:
1.11 - Signatures

Les nouveaux membres ne sont pas autorisés à intégrer une signature dans leurs posts.
Cette possibilité est offerte aux membres "Supporters XLD" et sur demande aux membres de longue date très impliqués dans la communauté (statut barbatruc).
Les signatures peuvent inclure des liens externes sous réserve qu'ils redirigent vers des sites personnels, ou des blogs relatifs à Microsoft Office.
Les liens vers des sites de consulting peuvent être autorisés aux membres impliqués de longue date, cette décision étant à la seule discrétion de l'administrateur.
Tous les autres liens vers des services commerciaux (directs ou indirects) seront considérés comme du spam et supprimés.
Quelle que soit la nature de la signature, celle-ci doit rester discrète avec un nombre de caractères limités par l'adminsitrateur du site, elle doit respecter les standards de XLD en utilisant la police par défaut (type et taille du texte) du site, sans couleur spécifique ni éléments particuliers (images,...) visant à attirer l'attention.
Les signatures peuvent être supprimées ou modifiées par les modérateurs, quelle qu'en soit la raison.

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 :mad: - 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

Statistiques des forums

Discussions
312 215
Messages
2 086 321
Membres
103 178
dernier inscrit
BERSEB50