'----------------------------------------------
Sub test()
Dim Répertoire As String, Fichier As String
Dim Sep As String, Feuille As String
Dim NomNouveauFichier As String
'***********Définir les variables***************
'Répertoire où sont les fichiers .csv
Répertoire = "c:\Users\DM\Documents\" ' "C:\Users\AAIGOUI\Desktop\EEQ VO\"
'Séparateur d'éléments utilisé dans le fichier texte
Sep = ";"
'***************************************************
Application.ScreenUpdating = False
Fichier = Dir(Répertoire & "*.csv")
Do While Fichier <> ""
NomNouveauFichier = Left(Fichier, Len(Fichier) - 4) & ".xls"
Call MaMacro(Répertoire, Fichier, NomNouveauFichier, Sep)
Fichier = Dir()
Loop
Application.ScreenUpdating = True
End Sub
Sub MaMacro(Chemin As String, Fichier As String, _
NomNouveauFichier As String, Sep As String)
Dim A As Integer, T As Variant
Dim Arr As Variant, Wk As Workbook
Dim WholeLine As String
'Ajoute un classeur avec seulement une feuille
Set Wk = Workbooks.Add(-4167)
'Baptise le nom de la feuille selon le nom du fichier
Wk.Worksheets(1).Name = Left(Fichier, Len(Fichier) - 4)
With Wk.Worksheets(1)
Open Chemin & Fichier For Input Access Read As #1
A = 1
While Not EOF(1)
Line Input #1, WholeLine
T = Split(WholeLine, Sep)
.Range("A" & A).Resize(, UBound(T) + 1) = T
A = A + 1
Wend
Close #1
End With
'Enregistrement du nouveau fichier au nom du fichier .csv
'dans le même répertoire et écrase le fichier si un fichier
'portant ce nom est déjà présent.
Application.DisplayAlerts = False
Wk.SaveAs Chemin & NomNouveauFichier
Application.DisplayAlerts = True
End Sub
'-----------------------------------------------