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 :

Convertisseur hexa - ascii


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2013
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 73
    Points : 47
    Points
    47
    Par défaut Convertisseur hexa - ascii
    Bonjour à tous.

    Je vous expose mon "petit : ) " problème et je vous remercie par avance de vous pencher sur mon cas.

    Donc, j'ai fais une macro qui convertie la cellule B2 d'HEXA en ASCII.

    Je passe donc gràce à cette macro d'une chaîne de caractère numérique à du texte pur.

    exemple :

    je colle dans la cellule b2 ma chaîne de caractère, je lance ma macro et j'obtiens dans cette même cellule ma chaîne de caractère convertie

    0042006f006e006a006f0075007 ------> ce convertie par "Bonjour...."


    Mais voilà, parfois la chaîne caractère que j'ai à "coller" contient des retours chariots, des espaces, des ":" ou des "/" et là ma macro ne fonctionne pas ( ne convertie plus ).

    Exemple, ici j'ai un retour chariot apès les "-", j'ai des espaces (après la dates etc...)

    17/09/2013 10:51:27 -
    0042006f006e006a006f0075007
    17/09/2013 10:51:27 -
    0650020007200e90070

    Mon but : Supprimer tous les retours chariots, tout les espaces, tout les ":", les "/" et les "-" de la cellule b2

    Avez-vous une idées ?

    Et un grand merci pour vos échanges qui sont toujours constructif !!

  2. #2
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 338
    Points : 4 295
    Points
    4 295
    Par défaut
    utilise la fonction Replace :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("B2").value = Replace(Range("B2").value, ":", "")
    Par contre, pour les retour chariots, je te conseille d'utiliser le code ascii justement du retour chariot pour faire ton Replace, avec la fonction Chr(je te dis pas, vu que tu es dedans tu dois le connaitre le code à Mon souvenir c'est 13 ou 15 mais je suis pas sûr)
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  3. #3
    Expert éminent sénior
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6 803
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 803
    Points : 32 058
    Points
    32 058
    Par défaut
    Citation Envoyé par illight Voir le message
    (.../...)Par contre, pour les retour chariots, je te conseille d'utiliser le code ascii justement du retour chariot pour faire ton Replace, avec la fonction Chr(je te dis pas, vu que tu es dedans tu dois le connaitre le code à Mon souvenir c'est 13 ou 15 mais je suis pas sûr)
    le piège, c'est que suivant la source, ça sera CHR(13), CHR(10), CHR(13)&CHR(10), ou CHR(10)&CHR(13). Donc c'est un peu plus compliqué que ça à gérer. Mais je pense avoir donné assez d'éléments.
    Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten :
    1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception
    2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences
    3)le temps de comprendre toutes les exigences, le projet est terminé
    4)le temps de terminer le projet, les exigences ont changé
    Et le serment de non-allégiance :
    Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée.

  4. #4
    Invité
    Invité(e)
    Par défaut bonjour test ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub test()
    txt = ReplacChrSpece("ABC" & Chr(9) & "ef" & vbCrLf & "/")
    End Sub
    Function ReplacChrSpece(t As String) As String
    ReplacChrSpece = t
    ReplacChrSpece = Replace(ReplacChrSpece, Chr(10), "") 'Retour charriau
    ReplacChrSpece = Replace(ReplacChrSpece, Chr(13), "") 'Fin de ligne
    ReplacChrSpece = Replace(ReplacChrSpece, Chr(9), "")  'Tabulation
    ReplacChrSpece = Replace(ReplacChrSpece, "/", "")
    End Function

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2013
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 73
    Points : 47
    Points
    47
    Par défaut
    Avant tout merci pour votre aide.

    illight, ta méthode fonctionne mais el_slapper a bien vu mon pb ! : )

    rdurupt :

    je ne comprend pas cette partie du code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    txt = ReplacChrSpece("ABC" & Chr(9) & "ef" & vbCrLf & "/")
    Merci à vous !

  6. #6
    Invité
    Invité(e)
    Par défaut
    c'est juste un test pour te montrer que ça fonctionne!

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

Discussions similaires

  1. Convertisseur hexa->ascii en ligne de commande
    Par Merillym dans le forum Débuter
    Réponses: 9
    Dernier message: 23/02/2010, 09h09
  2. Conversion hexa ascii
    Par omisc dans le forum Débuter
    Réponses: 1
    Dernier message: 20/05/2008, 18h42
  3. Conversion HEXA -> ASCII pour affichage LCD
    Par MarcO_- dans le forum C
    Réponses: 11
    Dernier message: 03/03/2007, 17h47
  4. ne pas transformer \ en \\ ? & variables hexa-ascii
    Par vincentweb dans le forum Général Python
    Réponses: 8
    Dernier message: 21/07/2006, 22h35
  5. Convertisseur 3ds-> ascii
    Par Guillaume602 dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 27/04/2006, 15h55

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