correspondance chiffre lettre

  • Initiateur de la discussion lunamaii
  • Date de début
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
 

Tibo

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

lunamaii

Guest
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?
 

Tibo

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

@+
 
L

lunamaii

Guest
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. :eek:
je suis un peu confus de demander autant de choses j'espère que ca pourra également servir à d'autres :)

merci
 

Monique

Nous a quitté
Repose en paix
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
 
L

lunamaii

Guest
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 :eek:

merci
 

Tibo

XLDnaute Barbatruc
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 :eek: ) 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
 
L

lunamaii

Guest
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!
 

Tibo

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


@+
 

Monique

Nous a quitté
Repose en paix
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

  • AdditionLettresLunamaii.zip
    2.3 KB · Affichages: 42
L

lunamaii

Guest
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 :eek: ca marche pas chez moi :p :p

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?
 

Monique

Nous a quitté
Repose en paix
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
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 361
Messages
2 087 626
Membres
103 609
dernier inscrit
AmineAB33