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 :

lecture de fichier texte [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2009
    Messages : 37
    Par défaut lecture de fichier texte
    bonjour a tous
    je recupere grace a pdf2txt un tableau pdf dans un fichier txt
    mon probleme est que lorsque je l importe dans excel j obtiens 1 ligne complete par cellule quand j aimerais recuperer chaque valeur dans 1 cellule diffrente
    cela est il possible en adaptant le code joint
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    Sub OpenPDF()
         '-------------------------------------------'
         ' You need to create a bat file first with one single line of text
         ' pdftotext.exe -layout YourPage.pdf
         ' DOWNLOAD LINK: http://www.foolabs.com/xpdf/download.html
         '-------------------------------------------'
     
         ' these lines look for a pdf file in your My Documents folder
        Set WshShell = CreateObject("WScript.Shell")
        ChDir (WshShell.SpecialFolders("MyDocuments"))
        PageName = Application.GetOpenFilename("YourPage, *.pdf", , "YourPage")
     
         ' if no file is picked the macro ends
        If PageName = "False" Then
            Exit Sub
        End If
     
         ' copies and renames the pdf file to the pdf2txt folder
        FileCopy PageName, "C:\pdf2txt\YourPage.pdf"
        ChDir ("C:\pdf2txt")
     
         ' THE BATFILE CONTAINS ONLY 1 LINE:
         ' pdftotext.exe -layout YourPage.pdf
     
        TestValue = Shell("YourPage.bat", 1)
     
         ' because the bat file runs for 1 or 2 seconds (in my case)
         ' I let the Excel macro wait 5 seconds before doing anything else
         ' there are more ingenious ways for VBA to wait for the end of an
         ' application, but this suits me fine...
     
        Application.Wait (Now + TimeValue("0:00:50"))
     
        ChDir "C:\pdf2txt"
        PageName = "C:\pdf2txt\YourPage.txt"
     
         ' the following reads the text that has been generated
        ReadTextFile (PageName)
     
         ' insert your text parsing - text to columns - ingenious vba stuff hereafter...
     
    End Sub
     
    Sub ReadTextFile(chemin As String)
        Dim FileNum As Integer
        Dim r As Variant
        Dim wb As Workbook
        Dim Data As String
        r = 1
        FileNum = FreeFile
        Set wb = Workbooks.Add
        Open chemin For Input As #FileNum
        Do While Not EOF(FileNum)
            Line Input #FileNum, Data
            ActiveSheet.Cells(r, 1) = Data
            r = r + 1
        Loop
        Close #FileNum
    End Sub
    je vous joins un fichier txt modele de l extraction

    merci d avance
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, si cela peut t'aider voir sur http://www.developpez.net/forums/d43...bat-distiller/ posts # 2 et 3 pour la récup du texte d'un PDF ( surtout #3 à tenter avec vbTab )

  3. #3
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2009
    Messages : 37
    Par défaut
    merci mais cela ne m aide pas vraiment car le texte est recupere format brut donc equivalent a ce que je fais actuellement

  4. #4
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, par curiosité serait-il possible d'avoir un échantillon de fichier PDF ?

  5. #5
    Membre expérimenté
    Inscrit en
    Juillet 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 239
    Par défaut
    Bonjour ,
    un truc tout simple que j'ai récupéré un jour dans un autre post.
    lorsque tu fais ton Line input , tu fais un split pour découper chaque champs , à toi de déterminer le Separateur dans ton cas.

    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 ReadTextFile(chemin As String)
        Dim FileNum As Integer
        Dim r As Variant
        Dim wb As Workbook
        Dim Data As String
        r = 1
        FileNum = FreeFile
        Set wb = Workbooks.Add
        Open chemin For Input As #FileNum
        Do While Not EOF(FileNum)
     
           Line Input #FileNum, Data
     
        tableau = Split(Data, Separateur)
      For i = 0 To UBound(tableau)
          ActiveSheet.Cells(r, i + 1) = tableau (i)
    next i
            r = r + 1
        Loop
        Close #FileNum
    End Sub

  6. #6
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2009
    Messages : 37
    Par défaut
    merci c est nettement mieux avec cette commande split
    je fais des tests et je vous tiens au courant


    apres divers test c est pas mal par contre j ai un nombre aleatoire d espace entre chaque colonne comment puis je dire cela a split pour qu il me les supprime au de la de 1
    merci par avance de vos reponses

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/11/2006, 20h57
  2. [C#]Lecture gros fichier texte
    Par kekesilo dans le forum Windows Forms
    Réponses: 5
    Dernier message: 20/05/2006, 13h58
  3. Lecture d´un fichier texte .
    Par pilouface dans le forum C
    Réponses: 5
    Dernier message: 20/01/2006, 23h48
  4. [AS2] Lecture Ecriture Fichier Texte
    Par cpr0 dans le forum ActionScript 1 & ActionScript 2
    Réponses: 4
    Dernier message: 13/09/2005, 11h22
  5. lecture de fichier texte
    Par prorider dans le forum C
    Réponses: 36
    Dernier message: 08/09/2004, 20h55

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