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 :

Extraction de données fichier .txt


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2016
    Messages : 7
    Par défaut Extraction de données fichier .txt
    Bonjour,

    Voici le contexte :
    Je suis sur un projet de comparaison de fichiers sur VBA, je doit comparer certaines valeurs d'un fichier ".txt" avec d'autres valeurs tirés d'un fichier ".xlsx".
    Aucun probleme pour l'extraction des valeurs du ".xlsx" que j'ai mis dans les cases d'un tableau. Mais c'est pas aussi fluide avec le ".txt" ...

    Petit exemple de ma facon de procéder pour l'extraction des données du ".xlsx" :

    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
    Sub Tableaux()
     
    Dim tabBANK(3)
    Dim tabSAP(3)
    Dim A As Integer
    Dim B As String
     
     
     
    tabSAP(2) = Mid(Range("A45"), 103, 16)
     
     
                           Workbooks.Open Filename:="C:\Users\rugeth\Documents\Convertisseur\" & "LISTE_OPERATIONSnew" & ".xlsx"
     
    tabBANK(0) = Range("A3")
    tabBANK(1) = Range("A4")
    tabBANK(2) = Range("B8")
    tabBANK(3) = Range("B9")
     
    '**********************************************************************************************************************************
     
    'Bloc de comparaison des réferences
    tabSAP(0) = Mid(tabSAP(0), 55, 7)
    tabBANK(0) = Mid(tabBANK(0), 7, 7)
     
    If (tabBANK(0)) = (tabSAP(0)) Then
    Select Case MsgBox("Références Identiques " & Chr(10) & Chr(10) & "REF = " & tabBANK(0), vbInformation, "Comparateur références")
    End Select
    Else
    Select Case MsgBox("Erreur de comparaison " & Chr(10) & Chr(10) & "SAP = " & tabSAP(0) & " <> BANK = " & tabBANK(0), vbCritical, "Comparateur références")
    End Select
    End If

    Pour accéder a mon fichier ".txt", j'ai utilisé la fonction "FSO.OpenTextFile".



    Voici le code pour le FSO :

    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
    On Error GoTo err
    Dim FSO As Scripting.FileSystemObject
    Dim FL As Scripting.File
     
    Set FSO = New Scripting.FileSystemObject
    'Set FL = FSO.GetFile("C:\Users\rugeth\Documents\Convertisseur\propo.txt")
     
    Set FL = FSO.OpenTextFile("C:\Users\rugeth\Documents\Convertisseur\propo.txt")
     
    If FSO.FileExists("C:\Users\rugeth\Documents\Convertisseur\propo.txt") Then
    Set FL = FSO.GetFile("C:\Users\rugeth\Documents\Convertisseur\propo.txt")
    End If
     
    fin:
      Exit Function
     
    err:
        Select Case err.Number
            Case 53: MsgBox "Le fichier est introuvable"
            Case Else: MsgBox "Erreur inconnue"
        End Select
     
    Resume fin

    Désormais je cherche une technique pour extraire des valeurs précises de mon fichier texte...




    Ps : Je suis débutant en VBA, Veuillez bien détailler/expliquer vos solutions s'il vous plait. (N'hésitez pas à demander un complément d'infos si nécéssaire)

  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, en lisant et appliquant ceci : Les fichiers textes

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2016
    Messages : 7
    Par défaut
    J'ai omis de préciser que mon programme doit etre dynamique ...

    c'est a dire que le fichier text où j'extrait les données vas changer à chaque utilisation, donc pas le meme nombre de ligne, les infos cherchés ne seront pas au meme endroit..

    Je peux donc dificilement utiliser le "read(x)" du tuto que vous m'avez proposé (que j'ai lu de long en large pour réussir mon FSO).

  4. #4
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut


    Bonjour,

    le "dynamique" ne sursoit pas la Logique : sans une explication technique claire & exhaustive …

    FSO est inutile, VBA ayant déjà tout le nécessaire en interne et avec le choix de différentes méthodes !


    _________________________________________________________________________________________________________
    Je suis Paris, Nice, Bruxelles, Charlie, …

Discussions similaires

  1. [Débutant] Extraction de données fichier .txt
    Par AuroreC dans le forum MATLAB
    Réponses: 2
    Dernier message: 03/07/2015, 06h59
  2. [Débutant] extraction de données fichier txt
    Par kbazin dans le forum MATLAB
    Réponses: 11
    Dernier message: 15/09/2010, 20h16
  3. [VBA Excel] Extraction de données fichier txt vers Excel et mise en forme
    Par newcodeur dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 23/05/2008, 11h45
  4. extraire donné fichier txt afficher dans xml
    Par jasminrose dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 01/04/2007, 12h14
  5. Extraire données fichier txt
    Par philippef dans le forum Langage
    Réponses: 1
    Dernier message: 10/10/2005, 17h12

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