Consolidation et conversion en boucle fichier Txt dans Excel
Bonjour à tous
Je souhaites via un code VBA aller sélectionner des fichiers .txt et qu'ils soient convertis et consolidés dans un même onglets sachant que le séparateur des fichier .txt est ";"
Je n'arrive pas à trouver comment intergrer ce code permettant de convertir mes fichiers Txt avec un separateur ";" au reste du code
Code:
1 2
| Workbooks.OpenText Filename:=Fichiers(i), Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited, Semicolon:=True |
Voici le reste du code.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| Sub Importer()
Dim dlDest As Long, dlSource As Long, dlgR As Long, i As Long
Dim Chemin As String
Dim fichier As Variant, Fichiers As Variant
Dim Wb As Workbook
Application.ScreenUpdating = False
'efface les données de l'onglet DATA de la colonne A a la colonne AF sauf la premiere ligne
With ThisWorkbook.Sheets("Data")
dlgR = .Range("A" & Rows.Count).End(xlUp).Row
.Range("A2:AF" & dlgR).ClearContents
End With
'Ouvre exploreur et permet aux utilisateur de selectionner les fichiers Excel a consolider
ChDir ThisWorkbook.Path
Fichiers = Application.GetOpenFilename("Text Files (*.txt),*.txt", MultiSelect:=True)
'Si aucun fichier n'est selectionné, on arrete le code
If Not IsArray(Fichiers) Then Exit Sub
'Pour chaque fichier selectionné
For i = 1 To UBound(Fichiers)
dlDest = ThisWorkbook.Sheets("Data").Cells(Rows.Count, "A").End(xlUp).Row + 1 '1ere ligne vide
'On definit Wb qui ouvre le fichier selectionne
' Set Wb = Workbooks.Open(Fichiers(i))
Set Wb = Workbooks.Open(Fichiers(i))
Workbooks.OpenText Filename:=Fichiers(i), Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited, Semicolon:=True
', Origin:=xlWindows, _
'StartRow:=1, DataType:=xlDelimited, Semicolon:=True
'Feuille à copier
With Wb.ActiveSheet.Name
'dernière ligne du fichier source
dlSource = .Cells(.Rows.Count, "A").End(xlUp).Row
'Copier vers la 1ere ligne non vide de la feuille Data du fichier de consolidation
.Range("A2:AF" & dlSource).Copy ThisWorkbook.Sheets("Data").Range("A" & dlDest)
End With
'On ferme le fichier source ouvert
Wb.Close False
Next
Application.ScreenUpdating = True
End Sub |
J'ai utilisé ce code mais il y a peut être d'autres solutions, je débute dans le VBA.
Merci d'avance pour votre aide.