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 :
Sauriez-vous m'aider ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Bonne aprem![]()
Partager