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 :

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
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
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:=True
Le critère a ajouter est
Code : Sélectionner tout - Visualiser dans une fenêtre à part
TextQualifier:= _ xlDoubleQuote,
mais je n'arrive pas a l'insérer dans mon code. Merci d'avance pour votre aide.