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 :

Editeur hexadecimal sous exCel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Oh!Tofocus
    Profil pro
    Inscrit en
    Août 2007
    Messages
    217
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 217
    Par défaut Editeur hexadecimal sous exCel
    Je voudrais eviter de passer par un éditeur hexadecimal pour modifier des fichiers.

    Donc dans exel avoir
    colonne A : adresses hexadecimales (offset)
    colonne B : octet d'origine
    colonne C : nouvel octet

    quelle instruction utiliser pour
    1- extraire l'octet correspondant à l'offset pour verifier ensuite sa valeur
    2- remplacer cet octet par le nouvel octet ?

  2. #2
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    1. Ouvrir le fichier source
    2. Ouvrir le fichier destination
    3. Pour chaque octet du fichier source, l'ajouter au fichier destination (modifié ou non, en fonction de ton test).
    4. Fermer le fichier source
    5. Fermer le fichier destination
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Tu ouvres ton fichier en mode binary et utilise l'instruction Get. Jète un oeil à Get, dans l'aide en ligne (F1)

  4. #4
    Membre confirmé Avatar de Oh!Tofocus
    Profil pro
    Inscrit en
    Août 2007
    Messages
    217
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 217
    Par défaut
    Merci pour vos tuyaux..

    voila le résultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Dim myoctet As Byte
    'pour lire l'octet à une certaine adresse
    Sub Get_dans_fichier()
    chemin = Range("a1").Value
    Adresse = Range("a2").Value
    Open chemin For Binary As #1
    Get #1, Adresse, myoctet
    Range("a3").Value = myoctet
    Close #1
    End Sub
    'pour remplacer l'octet à une certaine adresse
    Sub Put_dans_fichier()
    chemin = Range("a1").Value
    Adresse = Range("a2").Value
    myoctet = Range("a3").Value
    Open chemin For Binary As #1
    Put #1, Adresse, myoctet
    Close #1
    End Sub
    le plus dur a été de penser à definir la variable myoctet
    il m'a fallu un bon 1/4 d'heure pour comprendre
    F1 est bien sympa mais pas toujours trés clair pour l'autodidacte que je suis.

    ça ma servira de leçon de ne pas définir mes variables...

  5. #5
    Membre confirmé Avatar de Oh!Tofocus
    Profil pro
    Inscrit en
    Août 2007
    Messages
    217
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 217
    Par défaut
    PS
    il semble qu'il y a un décalage ( de 1 ) entre l'offset et l'adresse pointée par GET ou PUT
    pour avoir la valeur correspondant à l'offset il faut tester GET #1, offset+1, myoctet

    il faut donc corriger le code que je propose plus haut !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Get #1, Adresse+1, myoctet
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Put #1, Adresse+1, myoctet

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

Discussions similaires

  1. Pb de séparateur lors du chargement sous excel
    Par mickael777 dans le forum C++Builder
    Réponses: 5
    Dernier message: 25/06/2004, 09h52
  2. Un éditeur html sous linux ?
    Par Frozen Bubble dans le forum Applications et environnements graphiques
    Réponses: 6
    Dernier message: 11/04/2004, 21h37
  3. [VBA-E] Sélection feuilles sous excel
    Par Mystic eyes dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/02/2004, 13h27
  4. [Lazarus] Editeur Pascal sous Linux
    Par jlambert dans le forum Lazarus
    Réponses: 3
    Dernier message: 05/02/2004, 12h32
  5. Sauvegarde problématique sous excel par OLE
    Par ulysse66x dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 16/04/2003, 21h23

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