OVH Cloud OVH Cloud

convertir 1234567890 en ABCDEFGHIJ

11 réponses
Avatar
Baton .rouge
Bonjour

Comme rien n'est simple, je cherche une solution à un problème.

J'ai une colonne A avec dedant des nombres et une colonne B qui par
une table de conversion doit recevoir des lettres (1=A, 2=B, 3=C,...):

1234567890 ABCDEFGHIJ
1111122222 AAAAABBBBB
1212121212 ABABABABAB

En VBA je sais faire, mais une formula, je sais pas si c'est possible
de faire un remplacement caractères par caractères en se basant sur un
tableau de correspondance.

Merci de vos lumières.
--
Les assistés du CAC 40 :
http://www.youtube.com/watch?feature=player_detailpage&v=W5Yx_diRxA8#t=48

1 réponse

1 2
Avatar
GL
Le 05/04/2014 21:44, Baton .rouge a écrit :
Bonjour

Comme rien n'est simple, je cherche une solution à un problème.

J'ai une colonne A avec dedant des nombres et une colonne B qui par
une table de conversion doit recevoir des lettres (1=A, 2=B, 3=C,...):

1234567890 ABCDEFGHIJ
1111122222 AAAAABBBBB
1212121212 ABABABABAB

En VBA je sais faire, mais une formula, je sais pas si c'est possible
de faire un remplacement caractères par caractères en se basant sur un
tableau de correspondance.



On peut faire une formule matricielle :

{=SUBSTITUE(CAR(STXT(A1;{1.2.3.4.5.6.7.8.9.10};1)+64);"@";"J")}
(validation matricielle en ligne CTRL+SHIFT+ENTER)


Explication: STXT va s'exécuter en série sur {1.2.3....10} et extraire
ainsi les chiffres un par un, puis additionner 64 et renvoyer le
caractère ASCII correspondant :
1 + 64 = 65 code ASCII de "A" etc.

sauf pour 0, qui doit être transformé en J (ASCII 74 = 10 + 64 )
d'où le SUBSTITUE dans la formule ci-dessus.

*PAR CONTRE* : on a le résultat dans un vecteur ligne. Et il n'existe
pas (à ma connaissance) de fonction native Excel pour concaténer un
vecteur.



Merci de vos lumières.


Pas d'quoi.

--
Les assistés du CAC 40 :
http://www.youtube.com/watch?feature=player_detailpage&v=W5Yx_diRxA8#tH


Merci pour la vidéo !
1 2