OVH Cloud OVH Cloud

Copie d'un record d'Acces dans un tableau Excel

1 réponse
Avatar
Lionel
Je souhaite copier un record d'une table Access dans un=20
tableau Excel.

On m'a conseill=E9 (dans ce forum) la m=E9thode suivante mais=20
j'ai une erreur en compilation (User-defined type not=20
defined) =E0 la ligne "Dim conn As New ADODB.Connection".

Quelqu'un connait le comment du pourquoi?

Merci.

Le code:
Private Sub Commande0_Click()
Dim conn As New ADODB.Connection
Dim Rs As ADODB.Recordset
conn.Open "Provider=3DMicrosoft.Jet.OLEDB.4.0;Data=20
Source=3D" & "C:\bd1.mdb" & ";"
conn.CursorLocation =3D adUseClient
Set Rs =3D conn.Execute("clients", , adCmdTable)

Dim XL_App as Object
Set XL_App =3D CreateObject ("Excel.Application")
Dim XL_classeur As Object
Dim XL_feuille As Object
With XL_APP
Set XL_classeur =3D .Workbooks.Open
("C:\Feuilles.XLS")
Set XL_feuille =3D XL_classeur.Sheets("Avril=20
2003")
With XL_feuille
XL_feuille.Range
("A1").CopyFromRecordset Rs
End With
.ActiveWorkbook.Save
.ActiveWorkbook.Close
.Quit
End With
Rs.Close
conn.Close
Set XL_APP =3D Nothing
Set XL_classeur =3D Nothing
Set XL_feuille =3D Nothing
End Sub

1 réponse

Avatar
Raymond
Bonsoir.

il faut cocher la référence Microsoft Activex Data Objects 2.? library (2.7
dernier niveau)

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Lionel" a écrit dans le message de
news:0b1c01c39176$91cc0020$
Je souhaite copier un record d'une table Access dans un
tableau Excel.

On m'a conseillé (dans ce forum) la méthode suivante mais
j'ai une erreur en compilation (User-defined type not
defined) à la ligne "Dim conn As New ADODB.Connection".

Quelqu'un connait le comment du pourquoi?

Merci.

Le code:
Private Sub Commande0_Click()
Dim conn As New ADODB.Connection
Dim Rs As ADODB.Recordset
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=" & "C:bd1.mdb" & ";"
conn.CursorLocation = adUseClient
Set Rs = conn.Execute("clients", , adCmdTable)

Dim XL_App as Object
Set XL_App = CreateObject ("Excel.Application")
Dim XL_classeur As Object
Dim XL_feuille As Object
With XL_APP
Set XL_classeur = .Workbooks.Open
("C:Feuilles.XLS")
Set XL_feuille = XL_classeur.Sheets("Avril
2003")
With XL_feuille
XL_feuille.Range
("A1").CopyFromRecordset Rs
End With
.ActiveWorkbook.Save
.ActiveWorkbook.Close
.Quit
End With
Rs.Close
conn.Close
Set XL_APP = Nothing
Set XL_classeur = Nothing
Set XL_feuille = Nothing
End Sub