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

Chiffres romains

  • Initiateur de la discussion Initiateur de la discussion Tibo
  • Date de début Date de début

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 !

Tibo

XLDnaute Barbatruc
Rebonjour à tous,

Je viens de poster sur un autre fil une méthode pour inverser les lettres d'un mot :

Lien supprimé

Je me suis servi de cette méthode pour transcrire des chiffres romains.

Je suis parti du principe qu'il était plus facile d'analyser une chaîne de caractère de gauche à droite plutôt que de droite à gauche.

Pour analyser les chifffres romains, il me fallait donc inverser la chaine de lettres.

Le principe passe également par la construction d'une matrice via une formule nommée. Cette matrice étant ensuite exploitée par un INDEX.

r = le chiffre romain à transcrire

rm=CHOISIR(EQUIV(STXT(r;NBCAR(r)+1-LIGNE(INDIRECT(1&':'&NBCAR(r)));1);{'I';'V';'X';'L';'C';'D';'M'};0);1;5;10;50;100;500;1000)

la formule avec INDEX :

=SI(NBCAR(r)>0;INDEX(rm;1)😉
+SI(NBCAR(r)>1;INDEX(rm;2)*SI(INDEX(rm;2)>=INDEX(rm;1);1;-1)😉
+SI(NBCAR(r)>2;INDEX(rm;3)*SI(INDEX(rm;3)>=INDEX(rm;2);1;-1)😉
+SI(NBCAR(r)>3;INDEX(rm;4)*SI(INDEX(rm;4)>=INDEX(rm;3);1;-1)😉
+SI(NBCAR(r)>4;INDEX(rm;5)*SI(INDEX(rm;5)>=INDEX(rm;4);1;-1)😉
+SI(NBCAR(r)>5;INDEX(rm;6)*SI(INDEX(rm;6)>=INDEX(rm;5);1;-1)😉
+SI(NBCAR(r)>6;INDEX(rm;7)*SI(INDEX(rm;7)>=INDEX(rm;6);1;-1)😉
+SI(NBCAR(r)>7;INDEX(rm;8)*SI(INDEX(rm;8)>=INDEX(rm;7);1;-1)😉
+SI(NBCAR(r)>8;INDEX(rm;9)*SI(INDEX(rm;9)>=INDEX(rm;8);1;-1)😉
+SI(NBCAR(r)>9;INDEX(rm;10)*SI(INDEX(rm;10)>=INDEX(rm;9);1;-1)😉
+SI(NBCAR(r)>10;INDEX(rm;11)*SI(INDEX(rm;11)>=INDEX(rm;10);1;-1)😉
+SI(NBCAR(r)>11;INDEX(rm;12)*SI(INDEX(rm;12)>=INDEX(rm;11);1;-1)😉
+SI(NBCAR(r)>12;INDEX(rm;13)*SI(INDEX(rm;13)>=INDEX(rm;12);1;-1)😉
+SI(NBCAR(r)>13;INDEX(rm;14)*SI(INDEX(rm;14)>=INDEX(rm;13);1;-1)😉
+SI(NBCAR(r)>14;INDEX(rm;15)*SI(INDEX(rm;15)>=INDEX(rm;14);1;-1)😉
+SI(NBCAR(r)>15;INDEX(rm;16)*SI(INDEX(rm;16)>=INDEX(rm;15);1;-1)😉

Le plus long chiffre romain que la formule puisse transcrire est 5888.

Compte tenu du fait qu'il s'agit généralement d'années, cela devrait permettre d'utiliser cette formule pendant quelque temps (en attendant que Billou augmente la taille maxi des formules)

Bon dimanche à tous

P.S. : là aussi, remplacer les 😉 par ; ) (sans l'espace). Ah satanés smileys...


[file name=_transcription_chiffre_romain.zip size=2576]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/_transcription_chiffre_romain.zip[/file]

Message édité par: tibo, à: 04/09/2005 10:30
 

Pièces jointes

Bonjour Tibo, le forum,

Meme avec tout ce temps, je serais tres etonne que Bilou pense a faire quelque chose pour nous (sauf pour nous vendre une nouvelle mouture 'extra sure' et qui plante a la premiere occasion... 😱

Mais la n'est pas le propos, En tout cas, tres interessant ce projet, je le garde sous la main.

Merci Tibo

Bonne journee

Olivier
 
- 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

  • Question Question
Microsoft 365 Formule avec OU ?
Réponses
5
Affichages
532
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…