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 :

Outil de conversion .bin en .txt


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 54
    Points : 20
    Points
    20
    Par défaut Outil de conversion .bin en .txt
    Bonjour à tous,

    J'aurais besoin de votre aide dans le cadre de mon travail.

    Nous avons un banc de test qui tourne grâce à un programme LabView, A la fin de chaque cycle il sort un .bin (en norme IEEE 784 1985) et un .txt. Cependant nous aimerions ne plus sortir de .txt car ils sont très volumineux.
    Néanmoins on doit toujours pouvoir recréer un .txt à partir d'un .bin car le .bin est un fichier inexploitable tel quel contenant des suites incompréhensible de caractères ASCII et que le .txt est un fichier exploitable avec des colonnes les bonnes données au bon endroit etc etc.

    Je suis donc en charge de développer un outil (ou de trouver un outil) permettant de retranscrire notre .bin en .txt proprement.

    Je me suis donc lancé dans cette lourde tâche.

    Cependant j'ai tout le cheminement en tête avec le bon algorithme MAIS je bloque à un endroit.

    J'arrive à ouvrir le .bin avec excel où je me retrouve avec tous les caractères ASCII en vrac et j'aimerais réussir à bien les segmenter pour pouvoir ensuite les retranscrire correctement

    Auriez vous une idée ?

    Merci par avance

  2. #2
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Bonjour

    ça va dépendre de la disposition des données. Les idées ne manqueraient pas
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 242
    Points : 484
    Points
    484
    Par défaut
    Bonjour,
    Es-tu allé voir sur le site NI (http://www.ni.com/fr-fr.html) et lancé une recherche ? Si la description de la structure du fichier bin dont tu parles existe, elle a de grandes chances de se trouver là.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 54
    Points : 20
    Points
    20
    Par défaut
    J'ai regardé mais je n'ai pas trouvé grand chose...

    Je ne connais pas la structure des données justement c'est la que je bloque je ne sais pas sous quelle forme elles sortent (le labview a été réalisé par un sous traitant). C'est pour ça que je cherche comment elles sont segmentées

  5. #5
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Bonjour
    Une analyse des données source est obligatoire.
    Tu as ouvert le bin dans excel. Ça donne quoi au juste? Des données exploitables ou non?
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 54
    Points : 20
    Points
    20
    Par défaut
    Quand j'ouvre le .bin dans Excel j'ai pleins de caractère ASCII à la chaîne, ce n'est pas exploitable

  7. #7
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    bonjour
    l'exercice a l'air interessant pour le sport MAIS!!
    en quoi la sortie ".txt" serait un probleme meme si il est long
    en vba on peut tres bien ouvrir les .txt en lecture ligne par ligne ou global text avec open for

    il est bien evident que ouvrir ton .bin avec excel va te sortir un charabia, la structure n'est pas un classeur enregistré en binnaire

    regarde aussi du coté de adobstream
    pourrait on avoir un exemple de ce fichier binnaire
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 54
    Points : 20
    Points
    20
    Par défaut
    J'ai essayé avec de l'ouvrir notepad++ j'y vois pas plus clair...
    En fait je pense déjà que je ne comprends pas suffisamment comment est fichu un .bin et forcement je ne sais pas par quel bout le prendre pour m'en servir.
    Malheureusement ce sont des données confidentielles donc je ne peux pas donner de fichier.

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 54
    Points : 20
    Points
    20
    Par défaut
    Déjà est t'il possible de faire ce que je souhaite avec excel ?

    Si oui est-il possible d'ouvrir plus proprement un .bin avec excel ,

  10. #10
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    Non pas avec excel !!! AVEC vba OUI !!! c'est pas la meme chose

    MAIS le travail de convertion est plus ou moins long en fonction du fichier

    et donc si le bin correspond en tout point au .text c'est du blanc bonnet.....

    conclusion
    travail avec tes .txt ligne par ligne si il le faut et avec des variables tableaux pour accelerer le proccesus

    test quand meme une lecture globale avec open for
    ligne par ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    'Exemple lecture 2
    Sub lecture2()    ' ligne par ligneavec input simple
        Dim x As Integer,lig&
        Dim DataLine As String
        fichier = "C:\Users\polux\Desktop\ttt.txt"
        x = FreeFile
        Open fichier For Input As #x
        While Not EOF(x)
            Line Input #x, DataLine    'lecture de la ligne
            lig = lig + 1: Cells(lig, 1) = DataLine
        Wend
        Close #x
    End Sub
    '---------------------------------------------------------------------------------------------
    text Global
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    'Exemple lecture 3
    Sub lecture3()    ' recupe le texte complet avec input simple
        Dim x As Integer: x = FreeFile
        Dim lines As String
        fichier = "C:\Users\polux\Desktop\ttt.txt"
        Open fichier For Input As #x
        lines = Input$(LOF(x), #x)
        Close #x
        tableau = Split(lines, vbCrLf)
        Cells(1, 1).resizeubound(tableau, 1) = tableau
    End Sub
    '---------------------------------------------------------------------------------------------
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  11. #11
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 54
    Points : 20
    Points
    20
    Par défaut
    Voilà j'ai peur que le processus soit long... mon .bin fait 173158 ligne quand je l'"ouvre avec un éditeur lambda donc ça fait quelques 0 et 1 là
    C'est à dire travailler avec mes txt ?

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 242
    Points : 484
    Points
    484
    Par défaut
    Ne peut-on pas visualiser le contenu de ces fichiers directement dans LabView (peut-être que NI peut fournir un Viewer ou des API) ?

    Sinon, si le problème initial est lié à la volumétrie des fichiers .txt, n'est-il pas envisageable de les conserver dans un format compressé (.tgz, .zip, ...) ?

  13. #13
    Membre expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 267
    Points : 3 663
    Points
    3 663
    Par défaut
    Bonjour,

    à tout hasard change l'extension .bin en .zip (ou d'autres extensions de fichiers compressés), regarde s'il est conforme et que tu peux l'ouvrir.
    Il est possible que ce ne soit pas un format propriétaire mais une simple compression du .txt

    Pour en savoir plus tu peux regarder l'entête du fichier avec éditeur hexadécimal. Ce sont les 4 premiers octets.
    Un .zip par exemple commencera par "PK " (50 4B 07 08)
    Ca en dira déjà beaucoup sur ton fichier.

    Si c'est un format propriétaire, la chance de pouvoir retrouver le codage est faible.
    Ca ne pourrait être tenté que si tu fournis un fichier court dans les 2 versions.
    eric

    PS : si tu n'as pas d'éditeur hexa, l'entête sera les premiers caractères lu dans le bloc-note.
    Tu n'auras pas forcément les 4 caractères, certains ne sont pas affichés (codes de contrôle) mais cette petite chaine est suffisante.

    PS2 : si le pb est la taille vous ne pouvez pas tout simplement prendre l'habitude de zipper le .txt ?
    Tout le monde a de quoi dézipper, et ça sera nettement plus performant que n'importe quelle moulinette en vba.

  14. #14
    Membre expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 869
    Points : 3 442
    Points
    3 442
    Billets dans le blog
    1
    Par défaut
    Bonjour à tous,

    J'ai lu et relus ton premier Post tu parles de
    Néanmoins on doit toujours pouvoir recréer un .txt à partir d'un .bin car le .bin est un fichier inexploitable tel quel contenant des suites incompréhensible de caractères ASCII et que le .txt est un fichier exploitable avec des colonnes les bonnes données au bon endroit etc etc.
    donc si c'est pour créer un fichier organisé comme tu le veux pourquoi ne pas passer par ton fichier texte de départ ? ce serait plus simple

    si c'est pour supprimer le fichier texte pourquoi le recréer au moment ou en a besoin et pas le faire dès le départ

    Il y a quelque chose qui m'échappe dans tes explications
    Ils ne savaient pas que c'était impossible ... du coup ils l'ont fait (Mark Twain)

    n'oubliez pas de si les messages vous aide ou sont pertinents et de mettre quand cela est !

Discussions similaires

  1. [XSLT] Conversion xml vers txt ou mdb etc
    Par narodar dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 23/06/2006, 14h31
  2. Recherche outil de conversion txt vers dbf
    Par Jean-Matt dans le forum Autres langages
    Réponses: 6
    Dernier message: 20/02/2006, 23h41
  3. Fonction de conversion RTF en TXT ou HTML
    Par galouvielle dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 15/09/2005, 17h55
  4. Outils de conversion de requettes
    Par esteph dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 17/01/2005, 09h01

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