Bonjour,
Je possède deux fichiers: un fichier source .txt et un fichier de destination. Mon code actuel permet d'ouvrir le fichier source .txt et de copier coller le contenu entier dans mon fichier de destination.
Cependant, j'aimerais seulement importer les lignes qui possède le critère "xx" en colonne L du fichier source et pas toutes les lignes.
Voici mon code actuel:
Je possède deux fichiers: un fichier source .txt et un fichier de destination. Mon code actuel permet d'ouvrir le fichier source .txt et de copier coller le contenu entier dans mon fichier de destination.
Cependant, j'aimerais seulement importer les lignes qui possède le critère "xx" en colonne L du fichier source et pas toutes les lignes.
Voici mon code actuel:
VB:
Sub OpenImportFile()
Dim sFileName As String, DestFileName As String
Dim sBase As String, test As String
Dim sSuffix As String
Dim sExt As String
Dim shA As Worksheet
Dim i As Integer
Dim DEST As Range
Dim RowNb As Long, ColNb As Long
Dim dtDébut As Double, dtFin As Double, n As Integer
Dim dt As Double
DestFileName = ThisWorkbook.Name
Set shA = ThisWorkbook.Worksheets("Data")
shA.Cells.ClearContents
dtDébut = Worksheets("Paramètres").Range("B9").Value
dtFin = Worksheets("Paramètres").Range("B10").Value
n = dtFin - dtDébut
For i = 0 To n - 1
dt = Format(dtDébut + i, "yyyymmdd")
sBase = "F:\Fastnet\Fastnet2020\"
sExt = "FastnetI.fic"
sFileName = sBase & dt & sExt
test = Dir(sFileName)
If test <> "" Then
Workbooks.OpenText sFileName, DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=True, Comma:=False, Space:=False, Other:=False, Local:=True, DecimalSeparator:="."
RowNb = Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row
ColNb = Cells(1, ActiveSheet.Columns.Count).End(xlToLeft).Column
If i = 0 Then
ActiveWorkbook.Worksheets(1).Range(Cells(1, 1), Cells(RowNb, ColNb)).Copy
Else
ActiveWorkbook.Worksheets(1).Range(Cells(2, 1), Cells(RowNb, ColNb)).Copy
End If
Workbooks(DestFileName).Worksheets("Data").Activate
If i = 0 Then
Cells(Application.Rows.Count, "A").End(xlUp).Select
Else
Cells(Application.Rows.Count, "A").End(xlUp).Offset(1, 0).Select
End If
ActiveSheet.Paste
Application.CutCopyMode = False
Workbooks(dt & sExt).Close savechanges = False
End If
Next
End Sub