Bonjour à tous,

J'ai besoin de concaténer un certain nombres de fichiers .txt, possédant tous exactement la même structure, dans un nouveau fichier .txt. Tous les fichiers sont sauvegardés dans le même répertoire, et je voudrais que mon fichier final soit également dans ce même répertoire.

J'ai par exemple :

1 fichier .txt contenant "AAAAA"
1 fichier .txt contenant "BBBBB"

Mon objectif est d'obtenir, dans un nouveau fichier texte :
AAAAA
BBBBB

Je souhaite aussi éventuellement compter le nombre de lignes contenues dans le nouveau fichier.

Après quelques essais et recherches sur le net, j'ai bricolé le code suivant :

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
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
49
50
51
52
53
54
 
Option Explicit
 
Sub Compilation_Fichier_Texte()
 
Dim k As Integer
Dim Temp As String, T As String
Dim Chemin As String, Fichier As String
Dim X As Long, FichierCompilation As String
Dim Lignes As Long
 
'Endroit où sont regroupés les fichiers texte à compiler
Chemin = "R:\Data\"
 
'Le nom du fichier où doivent être compilés les fichiers
FichierCompilation = "Compilation.txt"
 
On Error Resume Next
'Suppprime le fichier de compilation s'il existe
Kill Chemin & FichierCompilation
 
X = FreeFile
T = ""
 
Fichier = Dir(Chemin & "*.txt")
 
Do While Fichier <> ""
 
    If Fichier <> FichierCompilation Then
 
        Open Fichier For Binary Access Read As #X
        Temp = String(LOF(X), Chr(0))
        Get #X, , Temp
        T = T & Temp
        k = k + 1
        Close #X
 
    End If
 
    Fichier = Dir()
 
Loop
 
Lignes = Len(T) - _
Len(Application.WorksheetFunction.Substitute(T, Chr(10), ""))
T = Left(T, Len(T) - 2)
 
Open Chemin & FichierCompilation For Output As #X
Print #X, T
Close #X
 
MsgBox k & " fichiers ont été concaténés dans " & FichierCompilation & """ pour un total de " & Lignes & " lignes."
 
End Sub
Le code s'exécute bien, et parcourt le bon nombre de fichiers, mais le fichier généré est...Vide ! Après plusieurs tentatives et modifications, le fichier final reste vierge.
Je pense qu'il ne manque pas grand chose, est-ce-que quelqu'un aurait la bonté d'âme de m'apporter la petite correction qu'il manque :o) ?

Je précise que j'ai un niveau moyen en vba, mais c'est la première fois que je m'en sers pour manipuler des fichiers texte... Je ne suis pas trop à l'aise avec les méthodes appropriées dans ce cas.

Merci beaucoup d'avance pour votre aide.