Import le fichier texte le plus récent en date
Bonjour,
j'ai un répertoire sur lequel je reçois un fichier par jour avec des données.
Je voudrai importer sur excel le fichier le plus récent en date.
J'ai donc créé un macro qui permet d'importer un fichier texte mais je suis obligé de lui indiqué le nom du fichier.
Donc ce que je voudrai, c'est importer le fichier récent en date sans préciser le nom du fichier.
Répertoire ou se trouvent tous les fichiers textes est : C:\Folder
Merci
voir mon code:
Sub Import()
'
' Import Macro
' Macro créé le 02/03/2011 by Me
'
'
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\Folder\File_01.txt", Destination:= _
Range("A1"))
.Name = "File_01"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 932
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = True
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = True
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End SubBonjour St Pierre
Voici un bout- de code qui te permet de lister tous les fchier d'un répertoire et d'en connaître la date de création
A partir de cela tu peux choisir ton fichier.
Ici: tous lmes fichiers txt du répertoire courant.
Sub deb()
Set fso = CreateObject("scripting.filesystemobject")
f = Dir(ThisWorkbook.Path & "\" & "*.txt")
While f <> ""
Set fich = fso.getfile(ThisWorkbook.Path & "\" & f)
MsgBox fich.datecreated
f = Dir()
Wend
End Sub
merci mais je n'y arrive pas du tout avec ton code
je suis toujours à la recherche de modification de dom code pour importer
le fichier texte le plus récent en date.
une aide serait bienvenue.
merci
Bonsoir
A partir du code de Dsou
Sub deb()
Dim Fso As Object
Dim F As String
Dim Fich As Object
Dim Ladate As Date
Dim Lenom As String
Set Fso = CreateObject("scripting.filesystemobject")
F = Dir(ThisWorkbook.Path & "\" & "*.txt")
While F <> ""
Set Fich = Fso.getfile(ThisWorkbook.Path & "\" & F)
If Lenom = "" Then
Ladate = Fich.datecreated
Lenom = F
Else
If Ladate < Fich.datecreated Then
Ladate = Fich.datecreated
Lenom = F
End If
End If
'MsgBox fich.datecreated
F = Dir()
Wend
MsgBox "Fichier le plus récent" & vbCr & _
Lenom & vbCr & "Créé le" & vbCr & Ladate
End SubBonne soirée