Importer des données Access avec VBA

Le
christophe
Bonsoir,

Je cherche à importer des données Access dans Excel. Avec une requête
simple, la procédure d'importation d'Excel fonctionne bien mais ça ne
passe plus avec une requête paramétrée. Savez-vous comment faire ?

J'ai récupéré ce bout de code VBA sur le web :
http://www.vbfrance.com/infomsg_IMPORTATION-DANS-EXCEL-RESULTAT-REQUETE-PAR=
AMETREE-ACCESS_822037.aspx?p=2

Sub maj_brico()

' importe les données depuis Brico

Dim Db As Database, Rs As Recordset, strSQL As String
Set Db = Workspaces(0).OpenDatabase("brico.mdb", False, False)
strSQL = "Select * FROM Representant;"
Set Rs = Db.OpenRecordset(strSQL)
If Rs.RecordCount > 0 Then
Sheets("NomDeFeuille").Range("A1").CopyFromRecordset Rs
Else
MsgBox "Aucune donnée de trouvée"
End If

Db.Close
Set Rs = Nothing
Set Db = Nothing

End Sub

Mais malheureusement, l'éditeur VB me dit que le type de donnée
database n'existe pas.

Avez-vous une idée pour résoudre ce problème ?

Mille mercis d'avance
Christophe
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JB
Le #4981891
Bonsoir,

http://boisgontierjacques.free.fr/pages_site/access.htm

JB
http://boisgontierjacques.free.fr

On 20 oct, 19:33, christophe
Bonsoir,

Je cherche à importer des données Access dans Excel. Avec une requê te
simple, la procédure d'importation d'Excel fonctionne bien mais ça ne
passe plus avec une requête paramétrée. Savez-vous comment faire ?

J'ai récupéré ce bout de code VBA sur le web :http://www.vbfrance.c om/infomsg_IMPORTATION-DANS-EXCEL-RESULTAT-REQUE...

Sub maj_brico()

' importe les données depuis Brico

Dim Db As Database, Rs As Recordset, strSQL As String
Set Db = Workspaces(0).OpenDatabase("brico.mdb", False, False)
strSQL = "Select * FROM Representant;"
Set Rs = Db.OpenRecordset(strSQL)
If Rs.RecordCount > 0 Then
Sheets("NomDeFeuille").Range("A1").CopyFromRecordset Rs
Else
MsgBox "Aucune donnée de trouvée"
End If

Db.Close
Set Rs = Nothing
Set Db = Nothing

End Sub

Mais malheureusement, l'éditeur VB me dit que le type de donnée
database n'existe pas.

Avez-vous une idée pour résoudre ce problème ?

Mille mercis d'avance
Christophe


christophe
Le #4981881
On 20 oct, 19:33, christophe
Mais malheureusement, l'éditeur VB me dit que le type de donnée
database n'existe pas.


Trouvé :
http://ericrenaud.free.fr/droitedao.htm
"Pour que ces exemples fonctionnent, vous devrez créer une référence
de bibliothèques d'objets d'accès
aux données de Microsoft (DAO). Dans Excel, choisissez la commande
Références du menu Outils de Visual Basic Editor et cochez Microsoft
DAO 3.6 Object Library."

christophe

JB
Le #4981851
Si tu avais lu:

En DAO:
Sub LitAccess()
'cocher Microsoft DAO 3.6 dans Outils/Références
Dim bd As Database
Dim rs As Recordset
Set bd = OpenDatabase(ActiveWorkbook.Path & "access2000.mdb")
Set rs = bd.OpenRecordset("Select * From Client")
Set rs = bd.OpenRecordset("select count(*) as nb from client")
MsgBox rs("nb")
rs.Close

Set rs = bd.OpenRecordset("Select * From Client")
i = 2
Do While Not rs.EOF
Cells(i, 1) = rs!nom_client
Cells(i, 2) = rs!ville
Cells(i, 3) = rs!salaire
rs.MoveNext
i = i + 1
Loop
End Sub

ou

En ADO:
Sub LectureAccess()
'Microsoft ActivexDataObject 2.8 Library
ChDir ActiveWorkbook.Path
Dim rs As ADODB.Recordset
Set cnn = New ADODB.Connection
cnn.Open "DRIVER={Microsoft Access Driver
(*.mdb)};DBQ¬cess2000.mdb"
Set rs = cnn.Execute("SELECT * FROM Client ORDER BY nom_client")
Range("A2").CopyFromRecordset rs
rs.Close
cnn.Close
Set rs = Nothing
Set cnn = Nothing
End Sub

JB







On 20 oct, 20:46, christophe
On 20 oct, 19:33, christophe
Mais malheureusement, l'éditeur VB me dit que le type de donnée
database n'existe pas.


Trouvé :http://ericrenaud.free.fr/droitedao.htm
"Pour que ces exemples fonctionnent, vous devrez créer une référence
de bibliothèques d'objets d'accès
aux données de Microsoft (DAO). Dans Excel, choisissez la commande
Références du menu Outils de Visual Basic Editor et cochez Microsoft
DAO 3.6 Object Library."

christophe



christophe
Le #4981841
On 20 oct, 20:52, JB
Si tu avais lu:


Je n'ai pas vu ton message (la faute à google groups) sinon je
l'aurais lu !

Publicité
Poster une réponse
Anonyme