Conversion de lettre en chiffre

GesuiCoco

XLDnaute Nouveau
Bonjour,

J'ai passé mon week-end avec un casse-tête qui parait très simple, mais que je n'arrive absolument pas à résoudre... Quelqu'un aurait-il la gentillesse de m'aider ?

En ligne 1, une série de lettres que j'aimerais traduire, en ligne 2, par leur chiffre correspondant dans l'alphabet (a=1, b=2, c=3, etc...). Par exemple :
A1=A, B1=I, C1=M, D1=E, E1=R
A2=1, B2=9, C2=13, D2=5, E2=18

Je ne sais pas si je dois utiliser une formule, une fonction ou une macro... bref, le flou assez total, presque artistique

Merci d'avance
 

Jyhel

XLDnaute Nouveau
Re : Conversion de lettre en chiffre

Bonjour

Essaie avec la formule =CODE(MAJUSCULE(A1))-64 dans ta deuxième ligne, et toujours tes lettres dans la première. ça a l'air de fonctionner chez moi.

Evidemment, A1 est à remplacer en fonction de la colonne dans laquelle tu te situes ;)

PS : ça reste la solution de quelqu'un qui fait joujou avec excel depuis tout juste une semaine, donc il y a peut-être mieux :p
 

Jyhel

XLDnaute Nouveau
Re : Conversion de lettre en chiffre

Pas de quoi :)
Bon alors l'explication vient de mes petites "divinations" cette fois ^^
En informatique, chaque caractère de ton clavier (et même ceux qui n'y sont pas) est codé par un numéro. Ce code est appelé code ASCII. La fonction CODE de la formule permet d'afficher ce nombre. Cependant les lettres ne sont pas numérotées 1 pour a, 2 pour b, etc...En effet, ce serait trop simple :p
En fait, A est codé 65, B est codé 66, etc...Les numéros sont encore différents pour les minuscules.
C'est pourquoi intervient la fonction MAJUSCULE d'ailleurs.
Ensuite, les codes se suivant, il suffit de soustraire 64 pour obtenir la place de ta lettre dans l'alphabet.
Par exemple, J se codant 74, 74-64=10, soit sa position dans l'alphabet.
Vu que ça marche (testé et approuvé) et que ça me parait logique, il me semble que mes "divinations" sont justes.

J'ai essayé d'être clair, mais si ça n'a pas été le cas, n'hésite pas.

EDIT : Trop lent :p
 
Dernière édition:

kiki29

XLDnaute Barbatruc
Re : Conversion de lettre en chiffre

Salut,et pour généraliser 2 fonctions personnalisées parmi des tas d'autres
Code:
Option Explicit

Function NumCol2Lettre(iNumCol As Long) As String
Dim i As Long, sStr As String
    i = iNumCol
    sStr = ""
    Do While i > 0
        sStr = Chr(((i - 1) Mod 26) + 65) & sStr
        i = (i - 1) \ 26
    Loop
    NumCol2Lettre = sStr
End Function

Function Lettre2NumCol(sChaine As String) As Long
Dim i As Long, ValeurCh As Long, v As Long
Const sChaineAlpha As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    For i = 1 To Len(sChaine)
        ValeurCh = InStr(1, sChaineAlpha, Mid$(UCase$(sChaine), i, 1))
        v = v * 26 + ValeurCh
    Next i
    Lettre2NumCol = v
End Function

qui pour 2147483647 retourne FXSHRXW et réciproquement
 
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : Conversion de lettre en chiffre

Bonjour bado

Bonjour, En ligne 1, une série de lettres que j'aimerais traduire...

Bado, de ton coté, tu écris
Bonjour la formule =CODE(MAJUSCULE(A1))-64 ne fonctionne pas car : A1=27 234...

As tu l'impression que 27 234 fasse partie de la catégorie "lettre" ? Non, donc c'est normal que la formule CODE(MAJUSCULE(A1)) ne te donne pas la bonne réponse.

@ plus
 

bado

XLDnaute Nouveau
Re : Conversion de lettre en chiffre

AINSI COMMENT ENVOYER LES PIECES JOINTES JE N'ARRIVE PAS A T'ENVOYER
le programme qui je faudrais envoyer transforme les chiffre en lettre
et votre programme marche tres bien et transforme les lettre en chiffre merci
 

Discussions similaires

Statistiques des forums

Discussions
312 312
Messages
2 087 156
Membres
103 484
dernier inscrit
maintenance alkern