Bonjour à tous,
j'ai une macro VB sur un bouton sur la feuil1 et j'aimerais importer sur cette même feuille un import CSV ayant une particularité aussi niveau tabulation.
Je joins le fichier .csv avec les " qui m'embête car de base je n'arrive pas à importer le csv sauf si j'édite au préalable pour supprimer les ".
j'ai récupéré un code sur ce forum mais il n'ouvre que dans un autre classeur et il ne permet pas de résoudre mon problème de ".
merci d'avance pour votre aide
j'ai trouvé mon bonheur sur le forum j'avais pas vu un post !
j'ai une macro VB sur un bouton sur la feuil1 et j'aimerais importer sur cette même feuille un import CSV ayant une particularité aussi niveau tabulation.
Je joins le fichier .csv avec les " qui m'embête car de base je n'arrive pas à importer le csv sauf si j'édite au préalable pour supprimer les ".
j'ai récupéré un code sur ce forum mais il n'ouvre que dans un autre classeur et il ne permet pas de résoudre mon problème de ".
merci d'avance pour votre aide
j'ai trouvé mon bonheur sur le forum j'avais pas vu un post !
VB:
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
Dernière édition: