ption Explicit
Dim Fichier As Variant, oFSO As Object, Chemin As String, NomFichier As String ', NewNomFichier As String
Sub Importer_FichierCSV()
Dim i As Long
'choix du fichier à traiter
Fichier = Application.GetOpenFilename("Tous les fichiers (*.csv),*.csv")
If Fichier = False Then Exit Sub
'---------------------------------------------------------------------
'Avec la méthode "GetBaseName" on extrait le nom du fichier sans son extension (ex: .csv)
Set oFSO = CreateObject("Scripting.FileSystemObject")
NomFichier = oFSO.getbasename(Fichier)
'---------------------------------------------------------------------
'On récupère seulement le chemin du fichier, pour enregistrer le fichier_traité dans le même répertoire
i = InStr(1, StrReverse(Fichier), "\", vbTextCompare)
If i <> 0 Then
Chemin = Left(Fichier, Len(Fichier) - i) ' rajouter & "\" ou non suivant besoin
End If
Chemin = Chemin & "\" 'on rajoute le "\"
'---------------------------------------------------------------------
'on vide la feuille dans le cas où on traite d'autres fichiers
Feuil1.Cells.Clear
'---------------------------------------------------------------------
'Importation des données
With ActiveSheet.QueryTables.Add("TEXT;" & Fichier, [A1])
.TextFileOtherDelimiter = "," 'défini le délimiteur
.TextFilePlatform = 65001 'unicode(UFT-8)
.Refresh 'exécute la requête
.Delete 'supprime la connexion
End With
End Sub