Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Récuperer fichier .txt dans Excel

Everlast03

XLDnaute Occasionnel
Bonjour,

Je voudrais récupérer un fichier texte grâce à une macro.
D'abord je voudrais lire dans un autre fichier texte (qui sera modifié en fonction de ce sur quoi on travaille) le nom du fichier.

Exemple : Je stock le nom du fichier que je vais coller dans Excel dans le fichier C:\Temp\ListeFichier.txt

Dans mon ListeFichier.txt:
1ère ligne : Chemin du fichier que je veux charger dans Excel ( ex : C:\Program files\fichiertest.txt

Je veux donc que ma macro aille lire le ListeFichier.txt pour y trouver le chemin du fichier à extraire, une fois ceci fait, j'extraie le contenu dans la page "Données" de Excel,


J'ai déjà réalisé une partie la macro mais je suis bloqué.
Le but de cette macro est de n'avoir a changé que le chemin dans le fichier ListeFichier
Pouvez-vous m'aider svp

Code:
Sub Auto_open()
'
' Tableau de bord synthétique
' Macro enregistrée le 05/10/2004 par G. Derue
'
Dim FicDon As String
Dim Lig As String
Dim Ligne As Integer, Texte As String, DateMAJ As String
Dim I As Integer

Sheets("Données").Select    ' Tableau de bord

    ' Lecture de la liste des fichiers de mesure
If Dir("C:\Temp\ListeFichiers.txt", vbNormal) = "" Then
    MsgBox "Créer le fichier : C:\Temp\ListeFichiers.txt qui contient le nom de fichier avec le chemin complet", vbInformation, "Liste fichiers"
    Exit Sub
End If
    ' Lecture nom de fichier avec le chemin complet
Open "C:\Temp\ListeFichiers.txt" For Input As #1
Line Input #1, FicDon
Close #1
    ' lecture des données
Open FicDon For Input As #1
    ' Importation données
Ligne = 0
Do Until EOF(1)
    Line Input #1, Lig
    Ligne = Ligne + 1
    For I = 1 To 2
        Cellule = I
        Call Extract(Lig & " ", I, Texte)
        Call AData(Texte, I, Ligne)
    Next I
Loop
Close #1

End Sub
Sub Extract(Lig As String, Imot As Integer, Texte As String)
' Lig ligne lue
' Imot position de la donnée dans Lig
' Donnée extraite

Dim Incd As Integer, Incf As Integer

Incf = 0
For I = 1 To Imot
    Incd = Incf
    Incf = InStr(Incd + 1, Lig, " ")
Next I
Texte = Mid(Lig, Incd + 1, Incf - Incd - 1)

End Sub
Sub AData(Donnée As String, ICol As Integer, ILig As Integer)

Dim Col As String

Col = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

Nom = Mid(Col, ICol, 1) + Mid(Str(ILig), 2)
Range(Nom).Select
ActiveCell.FormulaR1C1 = Donnée

End Sub
 

Everlast03

XLDnaute Occasionnel
Re : Récuperer fichier .txt dans Excel

Le fichier complet est trop long donc je vous donne un morceau...
 

Pièces jointes

  • exemple.zip
    1.9 KB · Affichages: 66
  • exemple.zip
    1.9 KB · Affichages: 70
  • exemple.zip
    1.9 KB · Affichages: 72

camarchepas

XLDnaute Barbatruc
Re : Récuperer fichier .txt dans Excel

Bonjour,

Voici le décodage en ordre de marche :

 

Pièces jointes

  • Décode.xls
    37.5 KB · Affichages: 118

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…