Sub extraire()
Dim Source As Object, Requete As Object
Dim Onglet As String, Plage As String, fichier As String
Dim Texte_SQL As String
'détermine de la plage à extraire
fichier = "Z:\P\Ges\2012.xls"
Onglet = "feuil 1" '
Plage = "A1:F1000"
'connexion ADO
Set Source = CreateObject("ADODB.Connection")
Source.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"data source=" & fichier & ";Extended Properties=""Excel 8.0;HDR=No;"";"
'exerce la requete ADO sur les donnée à recopier
Texte_SQL = "SELECT * FROM [" & Onglet & "$" & Plage & "]"
Set Requete = CreateObject("ADODB.Recordset")
Set Requete = Source.Execute(Texte_SQL)
'restitue sur ton classeur
Range("A1").CopyFromRecordset Requete
'libère les pointeurs
Set Requete = Nothing
Set Source = Nothing
End Sub