Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Export vers EXCELL avec parametre

1 réponse
Avatar
Le Nordiste
Bonjour =E0 tous,


J'ai repris sur le site de Raymond,
http://officesystem.access.free.fr/vba/export_recordset.htm
la macro qui va bien tant qu'il n'y a pas de parametre dans la
requ=E8te.

Private Sub Commande0_Click()
'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
' Pour avoir acc=E8s =E0 Excel vous devez r=E9f=E9rencer la
librairie:
' Alt F11 / 'Menu outils , r=E9f=E9rences. / cocher la ligne :
Microsoft Excel nn.0 Object Library
' cocher la ligne :
Microsoft Activex Data Objects 2.7 Librarie
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Dim Feuille_Excell As String
Dim Classeur_Excell As String
Dim BDD_Access As String
Dim Requete_Access As String

Classeur_Excell =3D "D:\TdB 01.xls"
Feuille_Excell =3D "Feuil1"
BDD_Access =3D "D:\BdD consultation.mdb"
'Requete_Access =3D "Entit=E9_En_Cours"
Requete_Access =3D "R_Entit=E9_Qt=E9_re=E7ue"
'--------------------------------------------------------------------

Dim conn As New ADODB.Connection
Dim Rs As ADODB.Recordset
conn.Open "Provider=3DMicrosoft.Jet.OLEDB.4.0;Data Source=3D" &
BDD_Access & ";"
conn.CursorLocation =3D adUseClient

'!!!!!!!! =E7a doit etre l=E0 qu'il faut introduir ele parametre mais
comment ? !!!!!!!!!!!!!!!

Set Rs =3D conn.Execute(Requete_Access, , 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(Classeur_Excell)
Set XL_feuille =3D XL_classeur.Sheets(Feuille_Excell)
With XL_feuille
XL_feuille.Range("A20").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

Mais j'ai besoin de transf=E9rer des donn=E9es avec 1 parametre - un
nombre entier- dans la requete,
comment glisser celui ci ?

remerciements anticip=E9s.

1 réponse

Avatar
Le Nordiste
ReBonsoir à toutes et à tous,

J'ai aussi essayé le code ci-dessous,

'======================== =========================
Sub RecupererRequeteAccess()

Dim TaBase As Database
Dim TaRequete As QueryDef
Dim TonRecordset As Recordset

Set TaBase = OpenDatabase("D:Documents and Settingsconsultation.mdb")
Set TaRequete = TaBase.QueryDefs("Entité_en_cours")

TaRequete.Parameters("Nbre semaines") = InputBox("Nbre semaines")
' TaRequete.Parameters("<nom du paramètre 2>") = InputBox("Date 2")
Set TonRecordset = TaRequete.OpenRecordset
Range("A5").CopyFromRecordset TonRecordset


Set TaBase = Nothing
Set TaRequete = Nothing
Set TonRecordset = Nothing

End Sub

'======================== ============
trouvé sur le site.

Mais il y a un Pb si dans le SQL il y a "nz" ou des fonctions
personnalisées.


Merci de me proposer une voie de résolution de mes problémes,

Bonsoir,