Je cherche =E0 importer des donn=E9es Access dans Excel. Avec une requ=EAte
simple, la proc=E9dure d'importation d'Excel fonctionne bien mais =E7a ne
passe plus avec une requ=EAte param=E9tr=E9e. Savez-vous comment faire ?
J'ai r=E9cup=E9r=E9 ce bout de code VBA sur le web :
http://www.vbfrance.com/infomsg_IMPORTATION-DANS-EXCEL-RESULTAT-REQUETE-PAR=
AMETREE-ACCESS_822037.aspx?p=3D2
Sub maj_brico()
' importe les donn=E9es depuis Brico
Dim Db As Database, Rs As Recordset, strSQL As String
Set Db =3D Workspaces(0).OpenDatabase("brico.mdb", False, False)
strSQL =3D "Select * FROM Representant;"
Set Rs =3D Db.OpenRecordset(strSQL)
If Rs.RecordCount > 0 Then
Sheets("NomDeFeuille").Range("A1").CopyFromRecordset Rs
Else
MsgBox "Aucune donn=E9e de trouv=E9e"
End If
Db.Close
Set Rs =3D Nothing
Set Db =3D Nothing
End Sub
Mais malheureusement, l'=E9diteur VB me dit que le type de donn=E9e
database n'existe pas.
Avez-vous une id=E9e pour r=E9soudre ce probl=E8me ?
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.
On 20 oct, 19:33, christophe <christophe.gaub...@gmail.com> wrote:
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.
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
On 20 oct, 19:33, christophe wrote:
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
On 20 oct, 19:33, christophe <christophe.gaub...@gmail.com> wrote:
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."
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
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 wrote:
On 20 oct, 19:33, christophe wrote:
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
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=Access2000.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 <christophe.gaub...@gmail.com> wrote:
On 20 oct, 19:33, christophe <christophe.gaub...@gmail.com> wrote:
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."
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 wrote:
On 20 oct, 19:33, christophe wrote:
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
On 20 oct, 20:52, JB wrote:
Si tu avais lu:
Je n'ai pas vu ton message (la faute à google groups) sinon je l'aurais lu !
On 20 oct, 20:52, JB <boisgont...@hotmail.com> wrote:
Si tu avais lu:
Je n'ai pas vu ton message (la faute à google groups) sinon je
l'aurais lu !