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 :

extraire données d'un fichier texte


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 12
    Points : 11
    Points
    11
    Par défaut extraire données d'un fichier texte
    bonjour,

    je dois extraire des données situées au mileu d'un fichier texte (file.txt)

    existe-t-il des méthodes pr arriver à mes fins?

    j'avais par exemple pensé à des sortes de coordonnées : la position du caractère sur une certaine ligne...

    je ne sais pas si c'est possible,

    pour info voici à quoi ressemble mon fichier texte

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <!DOCTYPE ECUD PUBLIC "-//pppppp//DTD ecud//ppp">
    <Ecud Author="Fréd XXX" Responsible="roger XX " Createdate="17/09/2008">
                    <HardwareNiveaDev>
                           <DSWDownload Speed="8952">
                           <HardwareNivea Protocol="ENGSAE" MaxMsgLen="5623                                     <HardwareContent FieldNbr="542" Restricted="N">
                                         <HardwareContent FieldNbr="535" Restricted="N">
                                         <HardwareContent FieldNbr="543" Restricted="N">
                                         <HardwareContent FieldNbr="544" Restricted="N">
                            </HardwareNivea>
                    </HardwareNiveaDev>
    </Ecud>

    (je dois extraire les 4 numeros (542,535,543,544))
    merci

  2. #2
    Membre averti Avatar de J.Michel
    Inscrit en
    Septembre 2007
    Messages
    279
    Détails du profil
    Informations personnelles :
    Âge : 62

    Informations forums :
    Inscription : Septembre 2007
    Messages : 279
    Points : 323
    Points
    323
    Par défaut
    Comme ça sans approfondir, peut être quelque chose dans ce style là:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Dim Tampon as String
     
    Open MonFichier for Input as #1
    do until eof(1)
       input #1, Tampon
       If Left(Tampon,26) = "<HardwareContent FieldNbr=" then
          Recupération du texte par un Mid par ex
       End If
    Loop
    Close #1

  3. #3
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    J'ai testé ceci et ca marche, en supposant que ce que tu cherche est précédé par
    FieldNbr="
    .

    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
    20
    21
    22
    23
    24
     
    Sub Analyse_txt()
    Dim LaLigne         As String, tablo As Variant
    Dim Field_pos       As Long
    Dim Lazone          As String
    Dim Input_file      As String
     
     
        Input_file = "c:\data\example.txt"
        Open Input_file For Input As #1
        Do While Not EOF(1)
            Line Input #1, LaLigne
            Field_pos = InStr(1, LaLigne, "FieldNbr", vbTextCompare)
            If Field_pos > 0 Then
               Lazone = Mid(LaLigne, Field_pos + 10, 3)
               MsgBox "Zone extraite = " & Lazone
            End If
     
        Loop
        Close #1
     
     
     
    End Sub

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 12
    Points : 11
    Points
    11
    Par défaut
    oui bravo

    la 2ème solution marche parfaitement!!

    merci

    a+

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

Discussions similaires

  1. Extraire données d'un fichier texte
    Par oieretxe dans le forum MATLAB
    Réponses: 2
    Dernier message: 27/07/2014, 23h53
  2. Réponses: 2
    Dernier message: 22/06/2008, 16h41
  3. Pour extraire les données d'un fichier texte
    Par Floch dans le forum Access
    Réponses: 2
    Dernier message: 02/05/2006, 16h01
  4. Extraire des donnés d'un fichier texte
    Par sadsad dans le forum Langage
    Réponses: 2
    Dernier message: 07/02/2006, 16h09
  5. extraire certaines données d'un fichier texte
    Par davz88 dans le forum C++
    Réponses: 11
    Dernier message: 26/03/2005, 14h00

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