Import tableau Acces avec ListObjects.Add

Bonjour,

J'aurais voulu importer un tableau Acces dans ma classeur Excel.

Le code suivant que j'utilise ne marche pas, pourtant il résulte d'un manuel.

Est-ce que quelqu'un aurait une idée ou solution?

Merc par avance pour votre aide!

Sub TableDepuisExterne()

Dim l As ListObject

Dim q As QueryTable

Dim s As String

Workbooks.Add

s = ThisWorkbook.Path & "\..\Orders.accdb"

s = "OLEDB;Provider=Mocrosoft.ACE.OLEDB.12.0;DataSource=" & s

'Print s

'OLEDB;Provider=Mocrosoft.ACE.OLEDB.12.0;DataSource=D:\Livre Excel 2007 VBA\ExcelVBA07SBS\Travail Shu-Yun\..\Orders.accdb

Set l = ActiveSheet.ListObjects.Add(xlSrcExternal, s, , xlYes, ActiveCell)

Set q = l.QueryTable

q.CommandType = xlCmdTable

q.CommandText = "Orders"

q.Refresh

End Sub

Bonjour,

Trouvé sur le Net ... et testé fonctionnel...

Sub TableDepuisExterne()
Dim cnn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim sQRY As String
Dim strFilePath As String

'''' Microsoft ActiveX Data Objects 2.0 Library doit être activé dans Outils .. Références

strFilePath = ThisWorkbook.Path & "\Orders.accdb"   ' adapter le nom et le chemin
Set cnn = New ADODB.Connection
Set rs = New ADODB.Recordset

cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & strFilePath & ";"
sQRY = "SELECT * FROM Table1" ' adapter Table1 with your Access DB Table name or Query name from which you want to download the data
rs.CursorLocation = adUseClient
rs.Open sQRY, cnn, adOpenStatic, adLockReadOnly

Worksheets("Feuil1").Range("A1").CopyFromRecordset rs
rs.Close

Set rs = Nothing
cnn.Close
Set cnn = Nothing
Exit Sub
End Sub
'''Source 'http://www.askeygeek.com/vba-code-to-import-access-tablequery-data-to-excel/#sthash.pSFtuVSh.dpbs

Gelinotte

Bonjour Gelinotte,

Merci pour ta proposition. J'ai essayé et me suis heurtée à un message d'erreur dès la première ligne: "Erreur de compilation: Type défini par l'utilisateur non défini".

Sauriez-vous ce que cela veut dire?

Merci par avance!

Bonjour clarimusique,

Pour utiliser ADO, besoin d'ajouter une référence.

Voir copies écran.

Cordialement

Bouben

copie2 copie1

Bonjour,

C'est bien écrit au début du code : '''' Microsoft ActiveX Data Objects 2.0 Library doit être activé dans Outils .. Références

Bouben t'a généreusement fournis une démarche en image.

Gelinotte

Rechercher des sujets similaires à "import tableau acces listobjects add"