Sub Fusionner_CSV()
Dim sep$, chemin$, fichier$, n&, i&, a$(), x, texte$, s, ss
sep = ";"
chemin = ThisWorkbook.Path & Application.PathSeparator
fichier = Dir(chemin) 'ne pas utiliser de caractère générique sur MAC
While fichier <> ""
If LCase(Right(fichier, 4)) = ".csv" Then
n = n + 1
i = 0
Erase a
x = FreeFile
Open chemin & fichier For Input As #x 'ouverture en lecture séquentielle
Do While Not EOF(1) 'EndOfFile: fin du fichier
Line Input #x, texte 'récupère la ligne
s = Split(texte, sep)
If s(0) = "" Then
ss(1) = ss(1) & " " & s(1) 'concaténation
a(i - 1) = Join(ss, sep) 'concaténation
Else
ss = s
ReDim Preserve a(i)
a(i) = texte
i = i + 1
End If
Loop
Close #x
x = FreeFile
Open chemin & fichier For Output As #x 'ouverture en écriture
Print #x, Join(a, vbLf) 'concaténation avec renvoi à la ligne
Close #x
End If
fichier = Dir
Wend
MsgBox n & " fichier(s) CSV traité(s)", , "Fusion"
End Sub