correspondance chiffre lettre

  • Initiateur de la discussion Initiateur de la discussion lunamaii
  • 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 !

L

lunamaii

Guest
salut à tous...

je voudrais faire correespondre des chiffres à des lettres...mais je ne sais comment m'y prendre, je m'explique
je voudrais que dans un coin de ma feuille de calcul:
-A=1
-B=2
-C=3
-D=4
-...
-...

sauf que arrivé au I=9
il faut que
-J=1
-K=2
-L=3
-M=4
-...
-...

etc jusqu'a ce que R=9
et que
-S=1
-T=2
-U=3
-V=4
... jusqu'à Z

ect-ce que ceci est possible?
le but est de réduire à des chiffres des prénoms par exemple

ex Jean = 1+5+1+5=12
 
Resalut Lunamaii,

Si la lettre est en colonne B, mets en B1

=MOD(CODE(B1)-65;9)+1

Il ne faut mettre qu'une lettre par cellule, ou sinon, il faut reprendre le même style de formule vue dans ton précédent fil.

@+

Message édité par: tibo, à: 12/08/2005 18:10
 
j'ai donc mis ta formule en B1 mais que doit-il se passer ensuite car comment la cellule B1 sait-elle que a=1
b=2 etc...

est-ce que je dois rentrer une lettre en A1? que dois-je faire apres avoir tapé ta formule?
 
Resalut,

Petit rectificatif : la formule, il faut la mettre en C1 (ou ailleurs) mais pas en B1, sinon ça va faire une référence circulaire.

Donc, je me reprends :

Par exemple :

Tu mets les lettres dans la colonne B (B1, B2, ...)

Tu recopies la formule C1 vers le bas

Et tu devrais obtenir le code de chaque lettre.

@+
 
voila ok j'ai bien compris cette fois.

alors à partir d'une telle base de donnée comment faire en sorte qu'en D1 je tape le prénom Jean et faire en sorte qu'en E1 Jean soit interprété en chiffre soit 1+5+1+5.

promis apres j'arrête. 😱
je suis un peu confus de demander autant de choses j'espère que ca pourra également servir à d'autres 🙂

merci
 
Bonjour,

On peut obtenir la somme des 'lettres' en une seule formule
avec Somme() et Mod() associés.
(à vérifier)

Les lettres du prénom, une par une, en B2:B20
=SOMME(SI(B2:B20<>'';MOD(CODE(B2:B20)-64;9)+(MOD(CODE(B2:B20)-64;9)=0)*9))
Formule matricielle, à valider pat ctrl, maj et entrée
 
waouu :woohoo: :woohoo:

le vocable me fais tres peur Monique...

je vais essayer cette formule mais j'ai peur de ne devoir te demander de me guider pas à pas car je débute sur excel.

j'essaye de coller cette formule en E1 puisque en D1 je tape le prénom en C1 il y a la valeur (1) du A et en B1 il y le A.
j'espère avoir été clair 😱

merci
 
Salut Monique,

Ta formule suppose que le prénom a été décomposé lettre par lettre de B2 à B20.

Est-il possible d'éviter cette décomposition ?

J'avais pensé à une solution classique (mais lourde) du style :

=MOD(CODE(STXT(B1;1;1))-65;9)+1+SI(NBCAR(B1)>1;MOD(CODE(STXT(B1;2;1))-65;9)+1)+SI(NBCAR(B1)>2;MOD(CODE(STXT(B1;3;1))-65;9)+1)+SI(NBCAR(B1)>3;MOD(CODE(STXT(B1;4;1))-65;9)+1)+SI(NBCAR(B1)>4;MOD(CODE(STXT(B1;5;1))-65;9)+1)+SI(NBCAR(B1)>5;MOD(CODE(STXT(B1;6;1))-65;9)+1)+SI(NBCAR(B1)>6;MOD(CODE(STXT(B1;7;1))-65;9)+1)+SI(NBCAR(B1)>7;MOD(CODE(STXT(B1;8;1))-65;9)+1)+SI(NBCAR(B1)>8;MOD(CODE(STXT(B1;9;1))-65;9)+1)+SI(NBCAR(B1)>9;MOD(CODE(STXT(B1;10;1))-65;9)+1)

avec le prénom en B1 (et valable pour un prénom de 9 lettres maxi).

Formule consistant à analyse chaque lettre avec STXT.

Les formules matricielles (que tu maîtrises si bien, mais pas moi 😱 ) permettent-elle d'obtenir le même résultat sans décomposer le prénom lettre par lettre ?

Au plaisir de te lire.

@+

Message édité par: tibo, à: 12/08/2005 19:00
 
je ne comprends pas pourquoi tibo il faut limiter le prénom à 9 lettres?

d'autre part tout marche impec sauf que lorsque je tape jean je devrais obtenir 12 alors que j'ai 14 avec ta formule je m'en vais donc chercher mon aiguille dans ta botte lol!
 
Re Luna (c'est plus court 😉 )

J'ai fait l'essai avec Jean, ça me donne bien 12

Je reprends la formule :

=MOD(CODE(STXT(B1;1;1))-65;9)+1+SI(NBCAR(B1)>1;MOD(CODE(STXT(B1;2;1))-65;9)+1)+SI(NBCAR(B1)>2;
MOD(CODE(STXT(B1;3;1))-65;9)+1)+SI(NBCAR(B1)>3;MOD(CODE(STXT(B1;4;1))-65;9)+1)+SI(NBCAR(B1)>4;
MOD(CODE(STXT(B1;5;1))-65;9)+1)+SI(NBCAR(B1)>5;MOD(CODE(STXT(B1;6;1))-65;9)+1)+SI(NBCAR(B1)>6;
MOD(CODE(STXT(B1;7;1))-65;9)+1)+SI(NBCAR(B1)>7;MOD(CODE(STXT(B1;8;1))-65;9)+1)+SI(NBCAR(B1)>8;
MOD(CODE(STXT(B1;9;1))-65;9)+1)+SI(NBCAR(B1)>9;MOD(CODE(STXT(B1;10;1))-65;9)+1)

En fait limitée à 10 caractères. Pour aller plus loin, il faut rallonger la formule :

pour un prénom de 11 lettres, il faut ajouter à la fin :

+SI(NBCAR(B1)>10;MOD(CODE(STXT(B1;11;1))-65;9)+1)

pour 12 :

+SI(NBCAR(B1)>11;MOD(CODE(STXT(B1;12;1))-65;9)+1)

etc.

Le problème, c'est que les formules dans Excel sont limitées à 1024 caractères. Dans le cas présent, on a encore de la marge, mais la formule devient quand même un peu indigeste, même si elle est efficace.

Attention aux prénoms composés : dans la formule, il ne faut pas saisir de tirets ou d'espaces.


@+
 
Re,

Tu décomposes le prénom, lettre par lettre, dans la plage B2:B20
(par STXT(réf; position; 1)
Et n'importe où, en B21 par exemple, tu colles :
=SOMME(SI(B2:B20<>'';MOD(CODE(B2:B20)-64;9)+(MOD(CODE(B2:B20)-64;9)=0)*9))

Cette formule est à valider en appuyant simultanément sur les 3 touches : ctrl, maj et entrée

Tu n'as pas besoin de table de correspondance, avec un A dans une cellule et un 1 à côté.
Si on veut, la table est dans la formule

Tu as un fichier joint

Tibo,
la formule matricielle (qui n'est à valider en matriciel que parce qu'il y a des cellules vides)
n'évite pas la décomposition du prénom,
elle évite Mod() +Mod() +Mod()
Le Car(n°) est dans la fonction Lignes() de SommeProd
[file name=AdditionLettresLunamaii.zip size=2405]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/AdditionLettresLunamaii.zip[/file]
 

Pièces jointes

ok pigé le truc...enfin...pas encore tres bien....
mais ca marche alors je vais m'efforcer de bosser la dessus.

merci mille fois monique et tibo.
😉

par contre tibo lorsque je colle cette formule
=MOD(CODE(STXT(B1;1;1))-65;9)+1+SI(NBCAR(B1)>1;MOD(CODE(STXT(B1;2;1))-65;9)+1)+SI(NBCAR(B1)>2;
MOD(CODE(STXT(B1;3;1))-65;9)+1)+SI(NBCAR(B1)>3;MOD(CODE(STXT(B1;4;1))-65;9)+1)+SI(NBCAR(B1)>4;
MOD(CODE(STXT(B1;5;1))-65;9)+1)+SI(NBCAR(B1)>5;MOD(CODE(STXT(B1;6;1))-65;9)+1)+SI(NBCAR(B1)>6;
MOD(CODE(STXT(B1;7;1))-65;9)+1)+SI(NBCAR(B1)>7;MOD(CODE(STXT(B1;8;1))-65;9)+1)+SI(NBCAR(B1)>8;
MOD(CODE(STXT(B1;9;1))-65;9)+1)+SI(NBCAR(B1)>9;MOD(CODE(STXT(B1;10;1))-65;9)+1)
jean est égal à 14

et lorsque je colle cette formule
=MOD(CODE(STXT(B1;1;1))-65;9)+1+SI(NBCAR(B1)>1;MOD(CODE(STXT(B1;2;1))-65;9)+1)+SI(NBCAR(B1)>2;
MOD(CODE(STXT(B1;3;1))-65;9)+1)+SI(NBCAR(B1)>3;MOD(CODE(STXT(B1;4;1))-65;9)+1)+SI(NBCAR(B1)>4;
MOD(CODE(STXT(B1;5;1))-65;9)+1)+SI(NBCAR(B1)>5;MOD(CODE(STXT(B1;6;1))-65;9)+1)+SI(NBCAR(B1)>6;
MOD(CODE(STXT(B1;7;1))-65;9)+1)+SI(NBCAR(B1)>7;MOD(CODE(STXT(B1;8;1))-65;9)+1)+SI(NBCAR(B1)>8;
MOD(CODE(STXT(B1;9;1))-65;9)+1)+SI(NBCAR(B1)>9;MOD(CODE(STXT(B1;10;1))-65;9)+1)

ben 😱 ca marche pas chez moi 😛 😛

sinon pour monique j'ai compris sauf que je voudrais tapé le prénom dans une seule cellule n'est-ce pas possible?
ou alors il faut passer par la formule de tibo pour taper ca dans une seule cellule peut-être non?
 
Re,

à vérifier, mais j'ai comme la vague impression que ça marche
=SOMMEPROD((MOD(CODE(STXT(MAJUSCULE(B1);LIGNE(INDIRECT(1&':'&NBCAR(B1)));1))-65;9)+1)*1)

Lunamaii, tu tapes le prénom (sans accents, c'est pas prévu) en B1
Et ton résulltat tient en une seule cellule, par cette formule
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
35
Affichages
622
Retour