Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Import d'un fichier .csv dans une feuille XL par VBA. Message d'erreur.

1 réponse
Avatar
tintin92
Bonjour,

J'essaie d'importer un fichier .csv dans une feuille XL par code VBA, mais
j'obtiens le message d'erreur suivant ::

"La plage de destination n'est pas dans la même feuille de calcul que celle
dans laquelle la table de requête est créée."

J'ai généré le code suivant en recopiant le résultat d'une macro, et en
modifiant très légèrement le code obtenu.

With Sheets("BackTest").QueryTables.Add(Connection:= _
"TEXT;K:\01ABBatch\Reports\01Origine.csv", Destination:=Range("A1"))
.Name = "01Origine"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = xlWindows
.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, 1, 1)
.Refresh BackgroundQuery:=False
End With



La seule différence avec le code généré par la macro est :

With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;K:\01ABBatch\Reports\01Origine.csv", Destination:=Range("A1"))
.Name = "01Origine"
.FieldNames = True


Merci

Tintin92

1 réponse

Avatar
tintin92
Je me réponds car je pense avoir trouvé la solution.
En faisant cette modife à priori ça passe.

With Sheets("BackTest").QueryTables.Add(Connection:= _
"TEXT;K:1ABBatchReports1Origine.csv",
Destination:=ThisWorkbook.Worksheets("BackTest").Cells(1, 1))
.Name = "01Origine"

Tintin92