Sub Import_CSV()
Dim t, fichier, MyData$, strData$(), a(), i&
t = Array(Array(1, 4), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1))
fichier = Application.GetOpenFilename("Fichier CSV (*.csv),*.csv", , "Choisissez le fichier à importer...")
If fichier = False Then Exit Sub
Open fichier For Binary As #1: MyData = Space$(LOF(1)): Get #1, , MyData: Close #1
strData() = Split(MyData, vbCrLf)
ReDim a(UBound(strData), 0)
For i = 1 To UBound(a)
a(i, 0) = strData(i) 'transposition
Next
With Sheets("Exercice")
.Cells.Clear
.[A1].Resize(UBound(a)) = a
.Columns("A:A").TextToColumns Range("A1"), xlDelimited, Semicolon:=-1, FieldInfo:=t
On Error Resume Next 'sécurité
If Year(.Range("A2")) <> Year(ThisWorkbook.Sheets("date").[B1]) Then 'test à adapter éventuellement
MsgBox "Ce fichier ne correspond pas à l'année en date!B1..."
.Cells.Clear
End If
End With
End Sub