Bonjour le forum!
Voici ma question. J'ai enregistré une macro me permettant d'importer à l'ouverture d'excel un fichier CSV. A l'ouverture d'excel, on obtient une fenêtre pour parcourir les documents et choisir son fichier.CSV (Grâce à l'instruction
Voici le code de cet import:
Mais en fait ce que j'aimerais, c'est de pouvoir spécifier un chemin spécifique d'un dossier où sont les fichiers CSV et non pas tomber à chaque import sur le dossier "Mes documents" de la fonction "GetOpenFileName". Donc je pense il faut modifier cette fonction, mais je ne sais pas exactement comment.
Merci de m'aider 🙂
Voici ma question. J'ai enregistré une macro me permettant d'importer à l'ouverture d'excel un fichier CSV. A l'ouverture d'excel, on obtient une fenêtre pour parcourir les documents et choisir son fichier.CSV (Grâce à l'instruction
Code:
GetOpenFileName
Code:
Sub import_fichier_CSV()
Dim nom_fichier As String
FileToOpen = Application _
.GetOpenFilename("(*.csv), *.csv") 'FileToOpen contiendra le chemin du fichier . CSV qu'a choisi d'importer l'utilisateur
If FileToOpen = "" Then
MsgBox ("Vous n'avez pas sélectionné le fichier") 'Dans le cas où il n'y a pas de fichier choisi.
Exit Sub
End If
nom_fichier = Split(Mid$(FileToOpen, InStrRev(FileToOpen, "\") + 1), ".")(0) 'Nom du fichier sans son extension
If FileToOpen <> False Then
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;" & FileToOpen _
, Destination:=Range("$A$1"))
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 1252
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End If
End Sub
Mais en fait ce que j'aimerais, c'est de pouvoir spécifier un chemin spécifique d'un dossier où sont les fichiers CSV et non pas tomber à chaque import sur le dossier "Mes documents" de la fonction "GetOpenFileName". Donc je pense il faut modifier cette fonction, mais je ne sais pas exactement comment.
Merci de m'aider 🙂
Dernière édition: