Excel - Assimiler Lettre à un chiffre

Excel - Assimiler Lettre à un chiffre - Logiciels - Windows & Software

Marsh Posté le 22-09-2007 à 11:25:11    

Bonjour
Ma question parait peut etre évidante, mais je fais un convertisseur sur excel, de n'importe quel base, vers n'importe quel autre base
par exemple du decimal vers hexadecimal. Il fonctionne tant que je met des chiffres, mais pour l'hexa par exemple il faut les lettres a b c d e f
donc je voudrait assimiler le a=10 b=11 c=12 .... comme ça quand je tape a en hexa il utilise 10 pour faire les calculs
merci


---------------

Reply

Marsh Posté le 22-09-2007 à 11:25:11   

Reply

Marsh Posté le 22-09-2007 à 12:11:52    

Bonjour,
as-tu essayé d'utiliser &H ?
 
Dim aa As String
aa = CDec("&HA5FFB1" )
MsgBox aa
Cordialement

Reply

Marsh Posté le 22-09-2007 à 13:35:52    

je n'est pas trop bien compris ce que tu a ecrit
c'est pour convertir directement cette fonction ?
si c'est le cas je ne peu pas utilisé les fonctions prédefini d'excel car c'est un TP pour un cours...
merci de ta réponse


---------------

Reply

Marsh Posté le 22-09-2007 à 15:58:53    

bonsoir,
 
as-tu le droit à cela:
zz = "A"
Select Case UCase(zz)
Case "A"
inn = 10
Case "B"
inn = 11
Case "C"
inn = 12
'etc...
End Select
 
 
OU ENCORE à cela:
 
lettre = Array("A", "B", "C", "D", "E", "F" )
For i = 0 To 5
If lettre(i) = UCase(zz) Then
inn = i + 10
Exit For
End If
Next
 
OU ENCORE a cela?
 
 
inn = InStr(1, "ABCDEF", UCase(zz)) + 9
 
Cordialement

Reply

Marsh Posté le 22-09-2007 à 17:56:05    

merci de ton aide
en fait j'y connait rien en excel donc je comprend pas du tout ce que tu a écrit
Voici mon convertisseur
http://anonyme.archive-host.com/co [...] aw3c74.xls
Es-ce que tu pourrai me donner un exemple dessus ou essayer de m'expliquer plus simplement comment je dois utiliser ces fonction merci


---------------

Reply

Marsh Posté le 22-09-2007 à 18:13:54    

Bonsoir,
vu, tu n'utilises pas VB, mais uniquement des fonctions excel:CONCATENER, ENT, etc
Donc tu dois pouvoir utiliser la fonction HEXDEC que tu trouveras dans les fonctions scientifiques.
 
Tu as aussi la fonction code:
 
code("a" )-87 donne 10
attention la valeur n'est pas la même pour "A"
Cordialement


Message édité par seniorpapou le 22-09-2007 à 18:26:14
Reply

Marsh Posté le 22-09-2007 à 19:16:59    

ok merci je vais bientot commencer VB
pour la fonction hexdec, c'est ça que je te disais que je ne peu pas utiliser sinon le tp n'a plus d'interet
 


---------------

Reply

Marsh Posté le 22-09-2007 à 21:08:37    

Bonsoir,
 
encore une:
 
=SI(A1="a";10;SI(A1="b";11;SI(A1="c";12;SI(A1="d";13;SI(A1="e";14;SI(A1="f";15;A1))))))
 
encore une:
 
=10*(A1="a" )+11*(A1="b" )+12*(A1="c" )+13*(A1="d" )+14*(A1="e" )+15*(A1="f" ) +SI((A1 >= 0)*(A1 <= 9);A1;0)
Cordialement


Message édité par seniorpapou le 23-09-2007 à 09:46:31
Reply

Marsh Posté le 23-09-2007 à 13:39:33    

merci c'est impec
j'ai utiliser la fonction aussi en inversant chiffre et lettre pour le résultat en sortie
Juste une autre petite question, existe il une fonction inverse de concatener ? pour lorsque j'écrie 101010 par ex dans une case, disperser chaque caractère dans une autre case


---------------

Reply

Marsh Posté le 23-09-2007 à 19:03:18    

Bonsoir,
as-tu droit à stxt: à condition que to 101010 soit en format texte(sinon,divisions et soustractions)
=STXT($A$1;1;1)
=STXT($A$1;2;1)
=STXT($A$1;3;1)
=STXT($A$1;4;1)
etc...regarde le help
Cordialement


Message édité par seniorpapou le 23-09-2007 à 19:03:59
Reply

Marsh Posté le 23-09-2007 à 19:03:18   

Reply

Marsh Posté le 28-09-2007 à 21:55:36    

merci ça fonctionne bien


---------------

Reply

Marsh Posté le 06-10-2007 à 20:29:58    

voici mon convertisseur
http://anonyme.archive-host.com/co [...] fuibni.xls
jai réussi à faire l'inverse de concatener (D2 à S2)
ensuite je recopie la ligne pour pouvoir faire des opérations avec mais comme tu le vois il n'arrive pas à faire les opération avec les chiffre de 1 à 9, alors qu'il arrive avec les lettres de a à z.  
Si je met cnum ça fonctionne pour les chiffres mais les lettres non
merci de votre aide


---------------

Reply

Marsh Posté le 06-10-2007 à 21:39:25    

bonsoir,
une orientation:  passe tout en texte pour tes recherchevy compris les zéros, supprime les cnum
, et change les comparaisons à 0 par des comparaisons à "0".
 
Feuil2 colonne f  tout en texte puis resaisir les chiffres
 
http://cjoint.com/?kgvJdy82kJ
vérifier le fonctionnement avec les autres bases
 
Cordialement


Message édité par seniorpapou le 06-10-2007 à 21:40:13
Reply

Marsh Posté le 06-10-2007 à 22:11:07    

ok merci
Jai encore un autre probleme ça doit etre aussi a cause du format de cellule. Avec des grands nombres il apparait des restes négatifs (D12), car les grands nombre (D11) sont arrondis.
Si j'utilise la fonction mod elle ne fonctionne pas avec des grand nombre
http://anonyme.archive-host.com/co [...] 3g82fn.xls


---------------

Reply

Marsh Posté le 07-10-2007 à 08:04:07    

Bonjour,
Ton pb n'a pas, à mon avis, de solution simple: c'est un probmème de précision d'excel à 15 chiffres.
 
Une solution peut-être, mais non utilisable dans ton cas , puisque tu ne peux pas aller trop loin dans les fonctions:
http://www.excelabo.net/excel/form [...] p#plusde15
Il te faut donc limiter tes données
 
pour les limites d'excel, dans le help , aide intuitive, taper:  limites excel
et tu auras le détail
 
Cordialement

Reply

Marsh Posté le 07-10-2007 à 10:56:24    

c'est un peu ennuyeux mas je ferais avec
merci pr toute ton aide


---------------

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed