Bonjour,
J'essaye d'importer en automatique plusieurs fichiers .csv avec le code ci-dessous.
-La macro Lire fonctionne lorsque que je l’exécuté avec un fichier.
Par contre lorsque je l'exécute depuis la macro Tst, pour traiter plusieurs fichiers CSV, j'ai une erreur sur le open Fichier for input : erreur chemin fichier
-Deuxième problème, lorsque j'importe les champs de date sont parfois inversés.
Comment résoudre ces problème. Merci
J'essaye d'importer en automatique plusieurs fichiers .csv avec le code ci-dessous.
-La macro Lire fonctionne lorsque que je l’exécuté avec un fichier.
Par contre lorsque je l'exécute depuis la macro Tst, pour traiter plusieurs fichiers CSV, j'ai une erreur sur le open Fichier for input : erreur chemin fichier
-Deuxième problème, lorsque j'importe les champs de date sont parfois inversés.
Comment résoudre ces problème. Merci
Code:
Sub Tst()
Dim Fichier As Variant
Chemin = ThisWorkbook.Path & "\"
Fichier = Dir(Chemin & "*.csv")
Do While Fichier <> False
Lire Fichier
Fichier = Dir()
Loop
End Sub
Code:
Sub Lire(ByVal Fichier As String)
Dim Chaine As String
Dim Ar() As String
Dim i As Long
Dim iRow As Long, iCol As Long
Dim NumFichier As Integer
Dim Separateur As String * 1
' Séparateur Point Virgule
Separateur = ";"
Cells.Clear
Application.ScreenUpdating = False
NumFichier = FreeFile
iRow = 1
Open Fichier For Input As #NumFichier
Do While Not EOF(NumFichier)
iCol = 1
Line Input #NumFichier, Chaine
Ar = Split(Chaine, Separateur)
For i = LBound(Ar) To UBound(Ar)
Ar(i) = Replace(Ar(i), "M-", "")
Cells(iRow, iCol) = Ar(i)
iCol = iCol + 1
Next
'Select Case Cells(iRow, 1)
'Case Is = Cells(iRow, 2): Cells(iRow, 3) = "Ok"
'Case Else: Cells(iRow, 3) = "Bad"
'End Select
iRow = iRow + 1
Loop
Close #NumFichier
Application.ScreenUpdating = True
End Sub