Extraire donnees d un fichier texte

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

haken69

XLDnaute Nouveau
Bonjour a tous/toute,


j aimerais s il vous plait savoir si il est possible d extraire des chaines de caracteres d un fichier texte et les exporter dans un fichier excel.
Pour etre plus precis, je voudrais extraine des valeurs numerique qui se trouve sous une chaine de caractere bien precise d un fichier texte:

ex: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx
Champs Total XXXXXXXXXXXXXXXXXXXXXXX
45.456666 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx
Champs Total XXXXXXXXXXXXXXXXXXXXXXX
95.456666




Merci pour l aide que vous pouvez m apporter.
 
Re : Extraire donnees d un fichier texte

A adapter à ton contexte
Code:
Option Explicit

Sub Bouton1_QuandClic()
Dim Chaine As String
Dim Ar() As String
Dim i As Long
Dim iRow As Long, iCol As Long
Dim NumFichier As Integer
Dim Separateur As String * 1
    Close
    Separateur = ";"
    Cells.Clear
    NumFichier = FreeFile
    iRow = 1

    Open "C:\Test.txt" For Input As #NumFichier
    Do While Not EOF(NumFichier)
        iCol = 1
        Line Input #NumFichier, Chaine
        Ar = Split(Chaine, Separateur)
        For i = LBound(Ar) To UBound(Ar)
            Cells(iRow, iCol) = Ar(i)
            iCol = iCol + 1
        Next
        iRow = iRow + 1
    Loop
    Close #NumFichier
End Sub
 
Re : Extraire donnees d un fichier texte

A adapter à ton contexte
Code:
Option Explicit

Sub Bouton1_QuandClic()
Dim Chaine As String
Dim Ar() As String
Dim i As Long
Dim iRow As Long, iCol As Long
Dim NumFichier As Integer
Dim Separateur As String * 1
    Close
    Separateur = ";"
    Cells.Clear
    NumFichier = FreeFile
    iRow = 1

    Open "C:\Test.txt" For Input As #NumFichier
    Do While Not EOF(NumFichier)
        iCol = 1
        Line Input #NumFichier, Chaine
        Ar = Split(Chaine, Separateur)
        For i = LBound(Ar) To UBound(Ar)
            Cells(iRow, iCol) = Ar(i)
            iCol = iCol + 1
        Next
        iRow = iRow + 1
    Loop
    Close #NumFichier
End Sub

Merci.Si j ai compris je remplace separateur par la chaine de caractere que je souhaite extraire
 
Re : Extraire donnees d un fichier texte

Absolument pas, ceci est un exemple pour importer des fichiers csv ( séparateur ; )
Il est inutile de répéter le code s'il est similaire à celui donné,cela n'apporte rien et encombre le paysage
En fait ici tu dois lire séquentiellement le fichier , si la ligne lue contient "Champs Total"
la suivante contiendra les données qui t'intéresse, et à priori le bon séparateur serait plutôt un Espace
Voir l'instruction Instr
 
Dernière édition:
Re : Extraire donnees d un fichier texte

ceci donnant qqch comme :
Code:
Option Explicit

Sub Bouton1_QuandClic()
Dim Fichier As Variant
    Fichier = Application.GetOpenFilename("Texte (*.txt), *.txt", , "Sélection du fichier texte", , False)
    If Fichier = False Then Exit Sub
    LectureFichier Fichier
End Sub

Private Sub LectureFichier(ByVal sFichier As String)
Dim Chaine As String
Dim Ar() As String
Dim i As Long
Dim iRow As Long, iCol As Long
Dim NumFichier As Integer
Dim Separateur As String * 1
    Close
    Separateur = " "
    Cells.Clear
    NumFichier = FreeFile
    iRow = 1: iCol = 1
    Application.ScreenUpdating = False
    Open sFichier For Input As #NumFichier
    Do While Not EOF(NumFichier)
        Line Input #NumFichier, Chaine
        If InStr(Chaine, "Champs Total") Then
            Line Input #NumFichier, Chaine
            Ar = Split(Chaine, Separateur)
            Cells(iRow, iCol) = Ar(0)
            iRow = iRow + 1
        End If
    Loop
    Close #NumFichier
    Application.ScreenUpdating = True
End Sub
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
125
Affichages
13 K
Réponses
0
Affichages
788
Retour