Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1065 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Conversion HEX vers DEC

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Conversion HEX vers DEC

n°2177264
llomes
Posté le 24-02-2013 à 16:37:28  profilanswer
 

Bonjour à tous,
 
J'ai besoin d'aide pour convertir une colonne dans excel comportant 14 caractères HEXA en décimal.
Le problème est que excel s’arrête à 40 bits et j'ai besoin de 56 bits.
Je ne suis pas obligé de passer par excel, mais je ne peux pas rentrer les valeurs une par une dans la calculette, trop long car plus de 500 valeurs à convertir.
J'ai besoin d'automatiser la chose.
 
Si vous avez une idée .....
 
Merci
 

mood
Publicité
Posté le 24-02-2013 à 16:37:28  profilanswer
 

n°2177271
Marc L
Posté le 24-02-2013 à 17:08:16  profilanswer
 

 
          Bonjour !     Un exemple d'une valeur Hexa et de sa conversion sont les bienvenus …
 
          C'est toujours 14 caractères ou peut-il y avoir des valeurs hexa avec moins de caractères ?
 
          Avec 14 caractères fixes, c'est facile via une formule dans une cellule !   Sinon ce sera une fonction personnalisée en VBA …


Message édité par Marc L le 24-02-2013 à 18:29:47
n°2177281
llomes
Posté le 24-02-2013 à 18:45:56  profilanswer
 

L'information est tjrs sur 7 Octets.
Exemple: 0477AA8E55BF21 HEXA = 1257474322972449 DEC.
 
Merci pour ton aide.

n°2177282
Marc L
Posté le 24-02-2013 à 19:09:31  profilanswer
 

 
           Allez cadeau, voici ma formule convertissant jusqu'à 18 12 caractères ‼   Au delà, le résultat est faux !
 

     =HEXDEC(SI(NBCAR(C1)>9;GAUCHE(C1;NBCAR(C1)-9);0))*16^9+HEXDEC(DROITE(C1;9))


           Cette formule est pour la cellule C1, à adapter donc selon la première cellule puis à recopier vers le bas …
 
           Au fait pour ta valeur hexa elle trouve 1 257 474 322 972 450;   même résultat aussi en VBA avec deux fonctions différentes …
           Edit :  "normal" car 13 caractères hexa, voir plus bas …


Message édité par Marc L le 25-02-2013 à 15:42:16
n°2177283
Je@nb
Kindly give dime
Posté le 24-02-2013 à 19:13:52  profilanswer
 

Je te dirais bien de tester ça :
=HEX2DEC(LEFT(A1;6))*2^32+HEX2DEC(MID(A1;7;LEN(A1)-5)) (ton nombre est en A1) mais à cause des histoires d'arrondies il a du mal :/

n°2177284
llomes
Posté le 24-02-2013 à 19:54:22  profilanswer
 

Je dois avoir  le résultat exact sans arrondies ...la galère.

n°2177343
Marc L
Posté le 25-02-2013 à 10:59:25  profilanswer
 

 
           En fait, la conversion est bonne en VBA mais le résultat récupéré dans la feuille de calcul y est "perverti"
           à cause de la précision de 15 chiffres significatifs d'une feuille dans ma version …
 
           Donc évidemment une formule directe dans la feuille de calcul ne fonctionne pas !
 
           L'astuce consiste de renvoyer une conversion au format texte via une fonction personnalisée à insérer dans un module VBA normal :  

Code :
  1. Function Hexa2Dec(Rg As Range) As String
  2.          For Each Cel In Rg
  3.              If Len(Cel) > 15 Then Exit Function
  4.              If Len(Cel) > 0 Then V = V + CDec("&h" & Cel)
  5.          Next
  6.          Hexa2Dec = Format(V, "#,##0" )
  7. End Function

           Cette fonction assure une conversion jusqu'à 15 caractères hexa et permet aussi d'effectuer une somme d'une plage !
 
           Formule à saisir dans la première cellule de conversion si la première cellule à convertir est B2 :

     =Hexa2Dec(B2)

           Renvoyant du texte, la cellule doit être alignée à droite puis recopiée vers le bas.
 
           Pour effectuer la somme des cellules B17 à B19 par exemple :

     =Hexa2Dec(B17:B19)

           La formule fonctionne aussi s'il y a des cellules vides au sein de la plage.
 
           Si cela ne convient pas, je pense être arrivé au bout de mes ressources …
 

n°2177692
llomes
Posté le 27-02-2013 à 08:21:04  profilanswer
 

Avec un peu de retard...désolé. je regarde aujourd hui. Merci du coup de mains


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Conversion HEX vers DEC

 

Sujets relatifs
Un pattern pour de la conversion xml->xml ?[php] xml vers array
SQL vers CSVlien vers nouvelle onglet
Lazarus vers visual studiolien vers un fichier d'une partition sur un serveur
conversion date en utctimelien vers un document dans formulaire
conversion int java en int php[c][Transfer de donnees d´un tableau bidimensionel vers unidimensione]
Plus de sujets relatifs à : Conversion HEX vers DEC


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR