Bonjour à tous,
Je dois concaténer 2 fichiers .txt puis les convertir en .xls l'un à la suite de l'autre. Pour cela j'ai crée le code ci-dessous :
Cependant il faut que je rajoute un critère pour la séparation des colonnes qui correspond a ça quand je fait un enregistrement manuel de la conversion :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 Dim Rg As Range, K As Long Dim Nb As Long, Fichier As String Dim Ligne As String, C, X As Integer Nb = FreeFile Set Rg = ThisWorkbook.Worksheets("Feuil1").Range("A1") For a = 1 To 2 ' 2 pour 2 fichiers 'Indique le chemin et le nom du fichier de chacun nom = Application.GetOpenFilename("Nom fichier,*.txt") Fichier = Choose(a, nom, nom) Open Fichier For Input As Nb Do While Not EOF(Nb) Line Input #Nb, Ligne 'Remplacer VbTab par le séparateur 'des fichiers texte ("," par exemple) C = Split(Ligne, ",") Rg.Offset(K).Resize(, UBound(C) + 1) = C K = K + 1 Loop Close #Nb Next End Sub
Le critère a ajouter est
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 nom = Application.GetOpenFilename("Nom fichier,*.txt") Workbooks.OpenText nom, _ Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _ xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False _ , Comma:=True, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _ Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), _ Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1), Array(14, 1), Array(15 _ , 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array(20, 1), Array(21, 1), _ Array(22, 1), Array(23, 1), Array(24, 1), Array(25, 1)), TrailingMinusNumbers:=Truemais je n'arrive pas a l'insérer dans mon code. Merci d'avance pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part TextQualifier:= _ xlDoubleQuote,
Partager