Codé les lettres e nchiffres

Résolu
Marianne108 Messages postés 13 Date d'inscription samedi 25 novembre 2006 Statut Membre Dernière intervention 5 juin 2010 - 18 oct. 2007 à 12:46
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 - 18 oct. 2007 à 16:42
bonjour
je souhaiterais coder un profil sous forme de chiffres pour cela , je donne à chaque lettre un N°
à deux chiffres.
exemple A=02, B=06, C=20.......O=40, ...T=60....
Ainsi TOTO s'écrira 60406040
je voudrais écrire cela dans un tableau à deux dimensions 
tableau = array("A, 02", "B, 06"....)

 puis lorsque je lis TOTO je dois être  capable de le coder en 60406040 et inversement  60406040 en TOTO

je ne sais comment lire mon tableau de correspondance pour
transformer TOTO en 60406040 et vis et versa
 
Quelqu'un sait-il écrire ce code en VBA
 
Merci de votre aide

6 réponses

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
18 oct. 2007 à 14:56
Bonjour,

Surtout pas un tableau à 2 dimensions, qui obligerait à aller chercher dans la èere colonne, à chaque fois, où se trouve la lettre considérée puis à extraire la correspondance dans la 2ème colonne.

Il vaudrait dans ce cas mieux, alors, avoir une variable toto = "abcd....yzABCD...YZ..."
et un array tableau avec, dans le même ordre, la correspondance en chiffre
et, pour chaque lettre, utiliser instr pour extraire la position dans toto puis extraire la correspondance (même rang) dans tableau...

Mais bon...
3
BunoCS Messages postés 15476 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 3 mai 2024 103
18 oct. 2007 à 13:50
Salut,
Il n'y a pas longtemps (hier??), quelqu'un a eu le même problème que toi.
Nous avons déplacé son topic dans la partie Java

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
0
BunoCS Messages postés 15476 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 3 mai 2024 103
18 oct. 2007 à 13:51
Le topic ici
Regarde du côté des tableaux à 2 dimensions en VBA sinon...

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
0
JPGVB Messages postés 96 Date d'inscription mardi 29 mars 2005 Statut Membre Dernière intervention 10 mars 2011 2
18 oct. 2007 à 14:05
Bonjour,
le plus simple me parait être de passer par un tableau


dim Decode(100)
et de remplir ce tableau ce tableau de la sorte:
decode(60)="T"


decode(40)="O"


et ainsi de suite avec toutes les lettres.


Pour décoder il suffira alors de lire le contenu 60406040, par groupe de deux caractères dans une boucle et d'utiliser une syntaxe du type nom=nom & decode(numéro)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
18 oct. 2007 à 16:09
Salut tt le monde,
Salut jmfMarques,
Pourquoi pas un tableau à deux dim ?
Je vois les choses autrement.


Pas obligé d' aller chercher dans la 1ere colonne,
à chaque fois, où se trouve la lettre considérée
puis à extraire la correspondance dans la 2ème colonne.
si dans la 1° colonne on mettait le code Ascii du caractère.
Ainsi en extrayant un à un chaque caractère de la chaine,
on cherche son index dans le tableau en se basant sur son Code Asccii.

t' en penses quoi ?











<hr />

I LIKE TO BE HERE WHEN I CAN


<hr />
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
18 oct. 2007 à 16:42
je m' explique..

On declare donc un tableau T(122,1)


For i=1 to 64
 T(i,1)=""
Next


de 65 à 122 on remplit notre tableau avec la valeur
correspondante à chaque caractère.
Par exemple:
-pour le O  T(79,1)=40
-pour le T  T(84,1)=60


For i=1 To Len(MaChaine)
  vBuffer=vBuffer & T(Asc(Mid(MaChaine,i,1)),1)
Next


PS: 122 pour respecter la casse:
  A==>65  ; a ==> 97
  Z ==>90 ; z ==> 122











<hr />

I LIKE TO BE HERE WHEN I CAN


<hr />
0
Rejoignez-nous