Importation fichier .csv
Bonjour à tous,
J'aurais besoin de votre aide pour importer un fichier .csv en vba.
Le code vba permettant de sélectionner un fichier et l'ouvrir fonctionne parfaitement. Or, sachant que ce sont des fichier .csv, il me faut renseigner quelque part que les séparateurs sont des virgule et ça , je ne sais pas où le spécifier.
lorsque que je lance un enregistrement de macro pour essayer de récupérer le code permettant de faire cela, j'arrive à récupérer un code. mais malheureusement ce dernier ne fonctionne pas.
code en question:
Sub Import_csv()
Dim xDir As String
Dim folder As FileDialog
Set folder = Application.FileDialog(msoFileDialogOpen)
If folder.Show <> -1 Then Exit Sub
xDir = folder.SelectedItems(1)
Workbooks.Open FileName:=xDir, Local:=True
ActiveWorkbook.Worksheets.Add
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;" & xDir , Destination:=Range( _
"$A$1"))
.CommandType = 0
.Name = Namefichier
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Subsi quelqu'un à un code qui fonctionne pour insérer ce genre de fichier, ou bien une piste de solution pouvant m'aider, je suis preneur.
merci d'avance à vous tous
Bonjour
Depuis la version 2016, c'est PowerQuery qui importe les CSV
Il ne faut garder du code que le choix du fichier et traiter, le reste par une requête powerquery à laquelle on passe le chemin et nom de fichier, soit par une cellule nommée (déjà présente dans le classeur) soit par la mise à jour par VBA d'un paramètre