Re : importer une partie d'un fichier txt
Bonjour,
Me revoilà de bonne heure et de bonne humeur
Je pense à avoir tout fait correctement, mais ca ne fonctionne pas (pour l'instant).
Dim InputData As String, Tableau(), I As Integer, J As Integer, K As Integer
Range("A:A").Clear
Open Worksheets("Feuil2").Range("A1").Value For Input As #1
Do While Not EOF(1)
Line Input #1, InputData
ReDim Preserve Tableau(I)
Tableau(I) = InputData
I = I + 1
Loop
Close #1
For J = UBound(Tableau) To LBound(Tableau) Step -1
If Tableau(J) Like "*G3*" Then Exit For
Next J
If J = -1 Then Exit Sub
For K = J To I - 1
Cells(K - J + 1, 1) = Tableau(K)
Next K
End Sub
Cependant, j'ai une piste. La récupération des fichiers se fait à l'aide de :
Private Sub CommandButton1_Click()
' *** le résultat peut apparaitre dans un message box (voir la syntaxe
' mise en commentaire dans le code) mais je l'ai occulté car, pour cet exemple,
' il y a environ 1 000 fichiers dans c:\. Je me sers donc des cellules Excel
Dim strMessage As String
Dim I As Long
Set fs = Application.FileSearch
With fs
.LookIn = "C:\programme\groupe" ' *** mettre ici le dossier voulu !
.SearchSubFolders = True
.Filename = "*.txt"
If .Execute(SortBy:=msoSortByFileName, _
SortOrder:=msoSortOrderDescending) > 0 Then
For I = 1 To .FoundFiles.Count
Cells(I, 1).Value = .FoundFiles(I)
Next I
'MsgBox strMessage
Else
MsgBox "Il n'y a aucun fichier."
End If
End With
End Sub
En fait, cela fait apparaitre le nom complet des fichiers par "ordre alphabétique inversé". J'ai ajouté la date aux fichiers qui n'en avait pas.
Désormais, j'ai simplement besoin d'importer le dernier fichier (par ordre alphabétique) du dossier qui est toujours le plus récent et dont l'adresse est en A1.
Simplement, je ne sais pas si c'est important mais le nom de certains dossiers comprend des espaces, comme
C:\programme\groupe\RC20110509 J392849493 Apprentissage €.txt