IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Fichier Intel HEX


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 38
    Par défaut Fichier Intel HEX
    Bonjour à tous,

    je cherche à savoir si il est possible d'ouvrir et de lire le contenu d'un fichier Intel HEX avec VBA ?
    Si c'est le cas j'aimerai apprendre à le faire,

    merci d'avance pour vos aides

    Laurent

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut
    Bonjour.

    D'après https://fr.wikipedia.org/wiki/HEX_(Intel) c'est un fichier texte donc tu devrais pouvoir l'importer comme tel dans Excel.
    Onglet Données/Fichier texte

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 38
    Par défaut
    bonjour,
    merci pour la réponse, mais j'ai peut être mal posé ma question. C'est un fichier qui s'ouvre dans un éditeur hexadécimal, mais mon besoin et de comprendre comment convertir les données en données compréhensibles

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Si on parle bien des fichiers pour programmer des EEPROM, ça fait presque 30 ans que je n'y ait pas touché.
    Mais si mes souvenirs sont pas trop mauvais, il s'agissait d'adresses en haxa dans un fichier texte.
    Si c'est bien le cas, pas de raison de ne pas pouvoir l'ouvrir avec Excel.

    Perso, je ne me souviens plus de la structure des lignes, donc il faudra certainement jouer avec les séparateurs, quitte à en remettre un couche après ouverture en utilisant Convertir dans le ruban Données.

    Avec VBA, utilise OpenText plutôt que Open, il permet plus de contrôle.
    A lire : https://docs.microsoft.com/fr-FR/off...books.opentext

    Citation Envoyé par boudoula Voir le message
    merci pour la réponse, mais j'ai peut être mal posé ma question. C'est un fichier qui s'ouvre dans un éditeur hexadécimal, mais mon besoin et de comprendre comment convertir les données en données compréhensibles
    Etant donné que ce format est aussi obsolète que les EEPROM, il va être difficile de trouver quelqu'un sur ce forum qui se rappelle de la structure, si tant ait qu'il en ait entendu parlé.
    Donc, sans plus d'info de ta part, il va être difficile de progresser dans la résolution de cette demande.

    Qu'est-ce que tu obtiens si tu essaye de l'ouvrir avec un notepad ?

  5. #5
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 38
    Par défaut
    bonjour,

    voici un exemple de quelques lignes quand je l'ouvre avec notepad
    :0200000480007A
    :1000000020000080780259B30000000000000000CA
    :100010000000000000000000CB4CAB4034B354BFE4
    :10002000914001F8D9FF2046D4FF0D00C004DC0F39
    :100030000090080008000800363636363636363668
    :100040003636363636363636363636363636363650
    :100050003636363636363636363636363636363640
    :100060003636363636363636363636363636363630
    :100070003636363636363636363636363636363620
    :100080003636363636363636363636363636363610
    :100090003636363636363636363636363636363600
    :1000A00036363636363636363636363636363636F0
    :1000B00036363636363636363636363636363636E0
    :1000C00036363636363636363636363636363636D0
    :1000D00036363636363636363636363636363636C0
    :1000E00036363636363636363636363636363636B0
    :1000F00036363636363636363636363636363636A0
    :10010000363636363636363636363636363636368F
    :10011000363636363636363636363636363636367F
    :10012000363636363636363636363636363636366F
    :10013000363636363636363636363636363636365F
    il s'agit en effet de fichier permettant d'etre flashé dans les calculateurs de voiture ce fichier et souvent couplé avec un fichier A2L.

  6. #6
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    C'est bien ce que je pensais : ce sont des adresses haxa en clair.
    Donc, ça peut s'ouvrir dans Excel comme n'importe quel fichier texte.
    Cela dit, je ne vois pas trop l'intérêt de l'ouvrir dans Excel plutôt que dans n'importe quel éditeur de texte.

  7. #7
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 38
    Par défaut
    Je pense que je dois mal m'exprimer et je m'en excuse, le fait qu'on puisse ouvrir le fichier dans Excel je le savais, ce que je cherche à faire c'est décoder le fichier hexa pour retrouver les données qu'il contient (tableau de valeurs, nom de variable etc.)

  8. #8
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Le code hexadecimal des EEPROM n'est pas celui du PC donc je ne pense pas qu'il existe un convertisseur de langage HEX dans Excel.

    La seule chose qu'il serait possible, c'est de séparer le code en paires de caractère pour avoir les adresses hexadécimale.
    Pour le traduire en clair, il faudrait établir une table de conversion de 256 ligne, spécifiant le caractère correspondant au code hexa. Il suffirait alors d'une fonction RECHERCHEV() pour faire la conversion.

  9. #9
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 478
    Par défaut
    Bonjour,
    Citation Envoyé par boudoula Voir le message
    Je pense que je dois mal m'exprimer .... ce que je cherche à faire c'est décoder le fichier hexa pour retrouver les données qu'il contient (tableau de valeurs, nom de variable etc.)
    Effectivement tu t'exprime mal, il est très peu probable que ces données soient codées, au contraire ce sont des données pures, une série d'octets relativement facile à extraire.
    Je suppose que tu cherches plutôt à savoir ce que représente ces octets : cela relève de la rétro-ingénierie.
    Tout d'abord, il faudrait connaitre le type exact de microcontrôleur auquel sont destinés ces octets, car chaque microcontrôleur a son propre langage.
    A partir de là, on pourrait utiliser un désassembleur adéquat pour déterminer s'il s'agit d'un programme en langage machine avec ses données associés, ou s'il s'agit simplement de données destinées à une EPROM (ou une EEPROM).
    Dans le premier cas, une fois le programme traduit en langage 'assembleur' et avec une bonne analyse (longue et minutieuse) on peut facilement isoler les données.
    Dans le second cas, il faut aussi posséder le programme contenu dans le microcontrôleur, auquel les données sont destinées.
    Mais dans les deux cas, ça s'arrête là : on peut analyser le déroulement du programme, mais pas savoir à quoi il sert et encore moins comprendre ce que représentent les données associées.
    Il faudrait un plan très détaillé du calculateur et de ses périphériques (au sens large), beaucoup de patience et de nombreuses heures pour taquiner l'espoir de deviner ce que les données représentent.

  10. #10
    Membre Expert Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 575
    Par défaut
    Bonjour,
    Les micros processeurs ou contrôleurs Intel ont tous le même langage assembleur.

    Ilnsufis de trouver le datasheet du plus récent pour trouver les code associer. Ce qui ne serait pas le cas pour Motorola.
    http://www.mathemainzel.info/files/x86asmref.html#stos

    Ici il est question de convertir le code assembleur en instruction assembleur MoveA 22

  11. #11
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Dans ce cas, la solution que j'ai proposé (table de conversion) ne suffit plus puisque la nature d'une donnée peut dépendre de la nature des données précédentes.
    Il faudrait un gros code VBA bourré de Select Case.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Fichier text hex to C++ float
    Par Groove dans le forum Débuter
    Réponses: 6
    Dernier message: 24/06/2009, 12h33
  2. Format Intel HEX en binaire
    Par Shikamaru86 dans le forum C
    Réponses: 4
    Dernier message: 13/04/2007, 18h24
  3. Remplacer une chaîne de caractères dans un fichier .hex
    Par subsix dans le forum Assembleur
    Réponses: 8
    Dernier message: 23/11/2006, 21h06
  4. [VB6] Comment lire un fichier Hex
    Par Jihnn dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 04/08/2006, 22h47
  5. coment utiliser un fichier hex
    Par robu dans le forum Ordinateurs
    Réponses: 6
    Dernier message: 29/10/2005, 23h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo