Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 [VBA] cherche code VBA pour Import CSV dans même classeur avec tabulation ",

starz91

XLDnaute Nouveau
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 !

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:

Discussions similaires

Réponses
3
Affichages
742
Réponses
2
Affichages
640
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…