Récupérer une valeur dans un fichier txt

Bonjour,

Je vous explique mon problème.

J'ai un répertoire dans lequel se trouvent un ensemble de fichier texte (txt).

Tous les fichiers commencent par :

*********************************************************************************************
*************** COMPTE RENDU de la PURGE du mercredi 31 mars 2021 *************
*********************************************************************************************

Répertoire en cours d'analyse D:\hermes_p\Files\1577B614F484D4B4\RECORDS\

Derrière le RECORDS\, j'ai une valeur différente par fichier.

Comment faire pour récupérer dans un fichier excel l'ensemble de ces valeurs ?

Je voudrais m'éviter d'ouvrir 1 par 1 les fichiers.

Merci

Jean-Michel

Bonjour,

peux-tu mettre un exemple de fichier txt ?

Bonjour h2so4,

En voici un

Merci

Jean-Michel

43log2021-3-31-15-44-18.txt (563.00 Octets)

bonjour,

une proposition

Sub aargh()

    Dim fichier_texte As Object, file_system As Object
    Dim chemin As String, fichier As String, contenu_fichier As String
    Dim position_records As Long, derniere_ligne As Long
    Dim valeur

    With Application.FileDialog(msoFileDialogFolderPicker)
        .AllowMultiSelect = False
        .Title = "choisir répertoire contenant les fichiers log"
        .Filters.Clear
        If .Show = True Then
            chemin = .SelectedItems(1) & "\"
        Else
            MsgBox "pas répertoire sélectionné"
            Exit Sub
        End If
    End With

    With Sheets(1)
        derniere_ligne = .Cells(Rows.Count, 1).End(xlUp).Row
        Set file_system = CreateObject("scripting.filesystemobject")
        fichier = Dir(chemin & "*.txt")

        Do While fichier <> ""
            Set fichier_texte = file_system.OpenTextfile(chemin & fichier)
            contenu_fichier = fichier_texte.readall
            fichier_texte.Close
            position_records = InStr(1, contenu_fichier, "RECORDS\")
            If position_records > 0 Then
                valeur = Mid(contenu_fichier, position_records + 8, InStr(contenu_fichier, "delete") - position_records - 10)
                derniere_ligne = derniere_ligne + 1
                .Cells(derniere_ligne, 1) = fichier
                .Cells(derniere_ligne, 2) = valeur
            End If
            fichier = Dir()
        Loop

    End With
End Sub
Bonjour h2so4,

Merci pour ta réponse qui me convient complètement.

Jean-Michel

on fait comment pour clôturer le sujet ?

Rechercher des sujets similaires à "recuperer valeur fichier txt"