Bonjour à tous,
J'ai besoin de modifier une macro qui me permet d'importer plusieurs fichiers textes d'un dossier dans excel, et je souhaiterais sélectionner seulement quelques lignes de ces fichiers textes.
Voici la macro actuelle:
Merci
J'ai besoin de modifier une macro qui me permet d'importer plusieurs fichiers textes d'un dossier dans excel, et je souhaiterais sélectionner seulement quelques lignes de ces fichiers textes.
Voici la macro actuelle:
Code:
Sub ImportTextFile()
'code de Coriolan modif par MJ issu de http://www.excel-downloads.com/forum/83569-pb-dimportation-dobjets-dans-une-macro.html
'Dim ceclasseur As String
'Dim monrépertoire As String
'Dim ii As Integer
'monrépertoire = "nom du répertoire contenant les fichiers .txt à importer"
'Stop
chemin = "J:\npai\Invalides\test"
ceclasseur = ThisWorkbook.Name
Set fc = CreateObject("Scripting.FileSystemObject").GetFolder(chemin).Files
If fc.Count > 0 Then 'il y a des fichiers
ii = 0
For Each f1 In fc
If Right(f1.Name, 3) = "txt" Or Right(f1.Name, 3) = "TXT" Then 'c'est un fichier texte
'ii = ii + 1
nomtxt = f1.Name
ii = ActiveSheet.Range("a65536").End(xlUp).Row
Workbooks.OpenText Filename:= _
chemin & "\" & f1.Name, Origin:=xlMSDOS, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Semicolon:=True
'inclu_nom_fichier début
derligne = ActiveSheet.Range("a65536").End(xlUp).Row
Range("A1:A" & derligne).Select
Selection.Insert Shift:=xlToRight
Selection.FormulaR1C1 = f1.Name
'inclu_nom_fichier fin
derligne = ActiveSheet.Range("a65536").End(xlUp).Row
'Rows(1).Copy Workbooks(ceclasseur).Sheets(1).Range("A" & ii + 1)
Rows(1 & ":" & derligne).Copy Workbooks(ceclasseur).ActiveSheet.Range("A" & ii + 1)
ActiveWorkbook.Close savechanges:=False
End If
Next
End If
'Columns("A:IV").Select
'Cells.EntireColumn.AutoFit
Range("A1").Select
End Sub
Merci
Dernière édition: