Bonjour !
Entre les deux façons ci-dessous de se connecter à un classeur fermé, quelqu'un pourrait-il m'énumérer les restrictions/avantages/inconvénients de chacune d'entre elles et préciser s'il existe des contexte où l'une est plus appropriée que l'autre ?
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 Public Function Requete(ByVal FichierSource As String, _ ByVal FeuilleSource As String, _ Optional ByVal ImporterEntetes As Boolean) ' Sert juste à tester diverses chaînes de connexion Dim adoConnexion As ADODB.connection Dim adoRst As ADODB.Recordset Dim strSql As String Set adoConnexion = New ADODB.connection With adoConnexion .ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0" & _ ";Data Source=" & FichierSource & _ ";Extended Properties=""Excel 12.0" & _ ";HDR=" & IIf(ImporterEntetes, "No", "Yes") & _ ";IMEX=1""" .Open End With strSql = "SELECT * FROM [" & FeuilleSource & "$]" Set adoRst = adoConnexion.Execute(strSql) Requete = Transpose(adoRst.GetRows) End Functionet Quid de "Provider=Microsoft.ACE.OLEDB.15.0" ?
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 Public Function Requete(ByVal FichierSource As String, _ ByVal FeuilleSource As String, _ Optional ByVal ImporterEntetes As Boolean) ' Sert juste à tester diverses chaînes de connexion Dim adoConnexion As ADODB.connection Dim adoRst As ADODB.Recordset Dim strSql As String Set adoConnexion = New ADODB.connection With adoConnexion .ConnectionString = "DSN=Excel Files" & _ ";DBQ=" & FichierSource & _ ";DefaultDir=C:\data\Temp;DriverId=1046" & _ ";MaxBufferSize=2048" & _ ";PageTimeout=5;" .Open End With strSql = "SELECT * FROM [" & FeuilleSource & "$]" Set adoRst = adoConnexion.Execute(strSql) Requete = Transpose(adoRst.GetRows) End Function
Merci d'avance !
Partager