Je copie d'un extrait de code VBA de MSDN qui me montre comment saisir les résultats d'une requête SQL en feuille Excel (Excel 2007):Accéder à la base de données SQL dans Excel VBA
Sub GetDataFromADO()
'Declare variables'
Set objMyConn = New ADODB.Connection
Set objMyCmd = New ADODB.Command
Set objMyRecordset = New ADODB.Recordset
'Open Connection'
objMyConn.ConnectionString = "Provider=SQLOLEDB;Data Source=localhost;User ID=abc;Password=abc;"
objMyConn.Open
'Set and Excecute SQL Command'
Set objMyCmd.ActiveConnection = objMyConn
objMyCmd.CommandText = "select * from myTable"
objMyCmd.CommandType = adCmdText
objMyCmd.Execute
'Open Recordset'
Set objMyRecordset.ActiveConnection = objMyConn
objMyRecordset.Open objMyCmd
'Copy Data to Excel'
ActiveSheet.Range("A1").CopyFromRecordset (objMyRecordset)
End Sub
Je l'ai déjà ajouté Microsoft Bibliothèque ActiveX Data Objects 2.1 sous comme référence. Et cette base de données est accessible.
Maintenant, quand je lance ce sous-programme, il a une erreur:
Erreur d'exécution 3704: l'opération n'est pas autorisée lorsque l'objet est fermé.
Sur la déclaration:
ActiveSheet.Range("A1").CopyFromRecordset (objMyRecordset)
Toute idée pourquoi?
Merci.
Aide! J'ai la même erreur, mais les solutions ci-dessous n'ont pas aidé: http://stackoverflow.com/questions/1682717/vba-adodb-run-time-error-3704 – Steven