' On récupère le chemin d'accès du fichier à importer puis uniquement le nom du fichier
' -------------------------------------------------------------------------------------
FileToImport = Application.GetOpenFileName("Fichiers CSV (*.CSV), *.csv", , "Sélectionnez le fichier à importer...")
Fichier = Dir(FileToImport)
' On vérifie que le classeur n'est pas déjà ouvert
' ------------------------------------------------
For Each WB In Workbooks
If WB.Name = Fichier Then
MsgBox (Fichier & " est déjà ouvert." & Chr(10) & "Fermez-le et relancez la macro.")
Exit Sub
End If
Next WB
' On ouvre le fichier
' -------------------
Workbooks.Open filename:=FileToImport
' On convertit les données (séparateur POINT-VIRGULE)
' ---------------------------------------------------
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, _
Tab:=False, Semicolon:=True, _
Comma:=False, Space:=False, _
Other:=False, _
FieldInfo:=Array( _
Array(1, 2), Array(2, 2), _
Array(3, 2), Array(4, 2), _
Array(5, 2), Array(6, 2), _
Array(7, 2), Array(8, 2), _
Array(9, 2), Array(10, 2), _
Array(11, 2), Array(12, 2), _
Array(13, 2), Array(14, 2), _
Array(15, 2), Array(16, 2), _
Array(17, 2), Array(18, 2), _
Array(19, 2), Array(20, 2), _
Array(21, 2), Array(22, 2), _
Array(23, 2), Array(24, 2), _
Array(25, 2), Array(26, 2), _
Array(27, 2), Array(28, 2), _
Array(29, 2) _
) _
, TrailingMinusNumbers:=True