re
inutile de préciser le type de source.
dans la fenêtre, tu vas chercher ton fichier Excel qui contient tes données d'origine et tu cliques dessus.
tu suis les instructions
Et tu peux enregistrer cette manoeuvre en macro.
pour mon essai, j'ai obtenu ça :
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 02/03/2008 par jmd
'
'
With ActiveSheet.QueryTables.Add(Connection:=Array( _
"OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=C:\Users\jmd\Desktop\Copie de base.xls;Mode=Share Deny Wr" _
, _
"ite;Extended Properties=""HDR=YES;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Database Password="""";Jet OL" _
, _
"EDB:Engine Type=35;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Je" _
, _
"t OLEDB:New Database Password="""";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Lo" _
, _
"cale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False" _
), Destination:=Range("A1"))
.CommandType = xlCmdTable
.CommandText = Array("Feuil1$")
.Name = "Copie de base_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:\Users\jmd\Desktop\Copie de base.xls"
.Refresh BackgroundQuery:=False
End With
Range("B10").Select
End Sub
on peut l'associer à un bouton