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 41 42 43
|
Sub Test()
'déclarations
Dim Cn As ADODB.Connection
Dim Rst As ADODB.Recordset
Dim ADOCommand As ADODB.Command
Dim NomFeuille, Cellule, texte_SQL As String
'Nom de la feuille dans le classeur fermé
NomFeuille = "La feuille"
'Adresse de la cellule contenant la donnée à récupérer
Cellule = "A:D"
'Création de la connexion sur le fichier source
Set Cn = New ADODB.Connection
'Connection aux données source
With Cn
.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
& "C:\Le_Fichier.xlsb" _
& ";Extended Properties=""Excel 12.0;HDR=YES;"""
.Open
End With
'Définit la requête.
Set ADOCommand = New ADODB.Command
With ADOCommand
.ActiveConnection = Cn
.CommandText = "SELECT * FROM [" & NomFeuille & "$" & Cellule & "]"
End With
'récupération des données de la source
Set Rst = New ADODB.Recordset
Debug.Print "avant .Execute " & Now()
Set Rst = ADOCommand.Execute
Debug.Print "après .Execute " & Now()
'libération de la mémoire
Set Cn = Nothing
Set Rst = Nothing
Set ADOCommand = Nothing
End Sub |
Partager