Bonjour
voila un macro import CSV
A voir
Sub ChoixFicCsv()
Dim dossier As FileDialog
ChoixChemin = ActiveWorkbook.Path & Application.PathSeparator
Set dossier = Application.FileDialog(msoFileDialogFilePicker)
With dossier
.AllowMultiSelect = False
.InitialFileName = ChoixChemin
.Title = "Choix d'un fichier CSV"
.Filters.Clear
.Filters.Add "Fichier Csv ", "*.csv*", 1
If .Show = -1 Then
Chemin = .SelectedItems(1)
LireMan Chemin
End If
End With
Set dossier = Nothing
End Sub
Sub LireMan(NomFichier)
Dim Ar() As String
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlManual
End With
Rows("1:" & Rows.Count).ClearContents
Sep = ";"
Lig = 1
' -----------------------------------------
On Error Resume Next
Open NomFichier For Input As #1
Do While Not EOF(1)
Line Input #1, Chaine
Ar = Split(Chaine, Sep)
Col = 1
For X = LBound(Ar) To UBound(Ar)
If Lig = 1 Then
Cells(Lig, Col).Value = CStr(Ar(X))
Else
Select Case Col
Case 2
Cells(Lig, Col).Value = CDate(Ar(X))
Case 5
Cells(Lig, Col).Value = "411" & CStr(Ar(X))
Case Else
' Cells(Lig, Col).Value = Application.Trim(CStr(Ar(X)))
Cells(Lig, Col).Value = CStr(Ar(X))
End Select
End If
Col = Col + 1
Next
Lig = Lig + 1
Loop
Close #1
' -----------------------------------------
With Application
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
.EnableEvents = True
.CutCopyMode = False
.Goto [A1], True
End With
End Sub
A+
Maurice