VBA - Importer un csv et mettre sous forme de tableau
Bonjour à tous.
Je cherche à importer un fichier CSV dans un classeur Excel, et mettre sous forme de tableau le contenu importé.
Mon code fonctionne correctement pour l'import du fichier csv.
Concernant la mise en forme de tableau, débutante en VBA, j'utilise la fonction d'enregistrement de macro afin de récupérer le code généré lorsque je sélectionne les données et clique sur "Mettre sous forme de tableau". Malheureusement, impossible de cliquer sur "OK", et donc impossible d'obtenir un code.
J'ai essayé de reprendre des bouts de codes trouvés sur le Web, mais à chaque fois j'obtiens une erreur d'exécution 1004 ("Un tableau ne peut pas chevaucher une plage contenant un rapport de tableau croisé dynamique, les résultats d'une requête, des cellules protégées ou un autre tableau"). Or aucun contenu n'est présent à partir de la ligne 3 de ma feuille active.
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| Dim Fichier As String
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;" & Fichier _
, Destination:=Range("$C$3"))
.Name = Fichier
.FieldNames = False
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlOverwriteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = False
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 1252
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
.Delete
End With
Worksheets("Statistiques").Activate
Cells(3, 3).Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
With ActiveSheet.ListObjects.Add(xlSrcRange, Selection, , xlYes)
.Name = "Tableau1"
.TableStyle = "TableStyleLight11"
End With |
Sauriez-vous m'aider ?
Bonne aprem :)