Bonjour
Je voudrais utiliser QueryTables.Add pour importer des données dans mon fichier excel.
L'import s'effectue correctement si la database source correspond à un fichier excel dont le chemin est en dur.
Par contre si le nom du fichier excel est une variable que j'ai alimentée préalablement : cela ne fonctionne pas. Qu'est ce qui ne va pas ?
voici mon code
mais si je remplace le chemin d'accès par une variable comme cela
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 With ActiveSheet.QueryTables.Add(Connection:=Array( _ "OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=C:\Temp\WinCnUK.xls;Mode=Share Deny Write;Extended Proper" _ , _ "ties=""HDR=YES;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Database Password="""";Jet OLEDB:Engine Type=35;" _ , _ "Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Databas" _ , _ "e Password="""";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=Fal" _ , "se;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False"), _ Destination:=Range("M28")) .CommandType = xlCmdTable .CommandText = Array("'Carnet Gamme$'") .Name = "WinCnUK" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .PreserveColumnInfo = True .SourceDataFile = "C:\Temp\WinCnUK.xls" .Refresh BackgroundQuery:=False End With
Merci d'avance pour votre aide
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 Dim monFic As String monFic = "c:\temp\WinCnUK.xls" With ActiveSheet.QueryTables.Add(Connection:=Array( _ "OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=monFic;Mode=Share Deny Write;Extended Proper" _ , _ "ties=""HDR=YES;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Database Password="""";Jet OLEDB:Engine Type=35;" _ , _ "Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Databas" _ , _ "e Password="""";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=Fal" _ , "se;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False"), _ Destination:=Range("M28")) .CommandType = xlCmdTable .CommandText = Array("'Carnet Gamme$'") .Name = "WinCnUK" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .PreserveColumnInfo = True .SourceDataFile = monFic .Refresh BackgroundQuery:=False End With
ValCou
Partager