Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 6 sur 6
  1. #1
    Futur Membre du Club
    Inscrit en
    août 2013
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : août 2013
    Messages : 57
    Points : 19
    Points
    19

    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 Olivier
    Chargé d'études statistiques
    Inscrit en
    septembre 2005
    Messages
    1 736
    Détails du profil
    Informations personnelles :
    Nom : Homme Olivier
    Âge : 32
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Chargé d'études statistiques
    Secteur : Service public

    Informations forums :
    Inscription : septembre 2005
    Messages : 1 736
    Points : 2 635
    Points
    2 635

    Par défaut

    utilise la fonction Replace :

    Code :
    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 Confirmé Sénior
    Profil pro
    Inscrit en
    décembre 2007
    Messages
    3 132
    Détails du profil
    Informations personnelles :
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : décembre 2007
    Messages : 3 132
    Points : 9 105
    Points
    9 105

    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
    Expert Confirmé Avatar de rdurupt
    Homme Profil pro Robert Durupt
    Développeur .NET
    Inscrit en
    avril 2012
    Messages
    1 837
    Détails du profil
    Informations personnelles :
    Nom : Homme Robert Durupt
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Conseil

    Informations forums :
    Inscription : avril 2012
    Messages : 1 837
    Points : 3 213
    Points
    3 213

    Par défaut bonjour test ça

    Code :
    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
    Une question bien formulée c’est 100% de la solution (rdurupt) !

  5. #5
    Futur Membre du Club
    Inscrit en
    août 2013
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : août 2013
    Messages : 57
    Points : 19
    Points
    19

    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 :
    txt = ReplacChrSpece("ABC" & Chr(9) & "ef" & vbCrLf & "/")
    Merci à vous !

  6. #6
    Expert Confirmé Avatar de rdurupt
    Homme Profil pro Robert Durupt
    Développeur .NET
    Inscrit en
    avril 2012
    Messages
    1 837
    Détails du profil
    Informations personnelles :
    Nom : Homme Robert Durupt
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Conseil

    Informations forums :
    Inscription : avril 2012
    Messages : 1 837
    Points : 3 213
    Points
    3 213

    Par défaut

    c'est juste un test pour te montrer que ça fonctionne!
    Une question bien formulée c’est 100% de la solution (rdurupt) !

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •