Bonjour,
En automatisant un import de feuille, j'ai mis un champ sur la feuille pour spécifier le chemin du fichier.
Ayant enregistré le macro d'import, je veux changer dans le code le chemin de mon fichier pour le rendre paramétrable selon le chemin saisi sur la cellule.
J'ai beau essayé, mais en vain.
Normalement le code il est comme ça :
Moi j'ai besoin de le commencer par ceci :
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 With ThisWorkbook.Sheets("Output_Action").QueryTables.Add(Connection:=Array( _ "OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=C:\Documents and Settings\Bureau\transfor" _ , _ "mation\test.XLS;Mode=Share Deny Write;Extended Properties=""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 O" _ , _ "LEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="""";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Data" _ , _ "base=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False" _ ), Destination:=Sheets("Output_Action").Range("A1")) .CommandType = xlCmdTable .CommandText = Array("OutPut_Actions$") .Name = "DonnéesExternes_1" .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:\Documents and Settings\Bureau\transformation\test.XLS" .Refresh BackgroundQuery:=False End With
et remplacer après le chemin sur le premier code par chemin mais je n'arrive pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 dim chemin as string chemin=sheets(1).range("B21").value
Partager