Code vba export access vers excel
Résolu
maw
-
Polux31 Messages postés 7219 Statut Membre -
Polux31 Messages postés 7219 Statut Membre -
Bonjour à tous :)
J'ai un souci je suis plus que novice en vb et je cherche à exporter successivement mes ^résultats de requêtes access dans un classeur comment excel mais sur différentes feuilles, j'ai fouiner un peu partout et j'ai réussi à constituer un petit code pour ma première requête pour tester avant de tout faire et clairement il ne fonctionne pas, serait il possible que vous y jetiez un oeil n'il vous plaît?
Merci d'avance de m'accorder un peu de votre temps
J'ai un souci je suis plus que novice en vb et je cherche à exporter successivement mes ^résultats de requêtes access dans un classeur comment excel mais sur différentes feuilles, j'ai fouiner un peu partout et j'ai réussi à constituer un petit code pour ma première requête pour tester avant de tout faire et clairement il ne fonctionne pas, serait il possible que vous y jetiez un oeil n'il vous plaît?
Merci d'avance de m'accorder un peu de votre temps
Option Compare Database
Option Explicit
'------------------------------------------------------------
' Export
'
'------------------------------------------------------------
Private Sub TransfertExportExcel_Click()
Dim xlapp As Object
Dim acapp As Object
Dim query As Object
Set xlapp = CreateObject("Excel.Application")
Set acapp = CurrentDb()
Set query = acapp.OpenRecordset("export_absences")
xlapp.workbooks.Open filename("chemin")
xlapp.sheets("absences").range("a1:bo65536").select
selection.copy
query.copy
xlapp.activeworkbook.Close
xlapp.quitt
Set xlapp = Nothing
MsgBox "export réalisé avec succès =)", vbInformation, ""
End Sub
A voir également:
- Access exporter vers excel
- Liste déroulante excel - Guide
- Exporter favoris chrome - Guide
- Word et excel gratuit - Guide
- Comment exporter les photos de google photo vers l'ordinateur - Guide
- Exporter conversation sms android - Guide
4 réponses
Bonjour,
Un peu plus simple
Cette ligne de code permet de transférer une table ou requête ACCESS vers une Feuille d'un Classeur EXCEL.
ex:
Private Sub Commande5_Click()
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel97, "Table ou Requête ACCESS a transférer", "Chemin du fichier EXCEL", , "Nom de la Feuille EXCEL"
end sub
Bonne continuation
Un peu plus simple
Cette ligne de code permet de transférer une table ou requête ACCESS vers une Feuille d'un Classeur EXCEL.
ex:
Private Sub Commande5_Click()
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel97, "Table ou Requête ACCESS a transférer", "Chemin du fichier EXCEL", , "Nom de la Feuille EXCEL"
end sub
Bonne continuation
maw
j ai déjà essayé ce code et en fait la précision de la feuille ne fonctionne que pour l'import de feuilles excel sur access, pas pour l'export mais merci beaucoup quand même
Bonjour,
Tu peux exporter les données sans avoir à ouvrir Excel. En utilisant le fournisseur OLE DB Microsoft Jet. Il ne faut pas oublier de cocher la référence Microsoft ActiveX Data Objects x.x Library
Il faut modifier ta procédure:
;o)
Tu peux exporter les données sans avoir à ouvrir Excel. En utilisant le fournisseur OLE DB Microsoft Jet. Il ne faut pas oublier de cocher la référence Microsoft ActiveX Data Objects x.x Library
Il faut modifier ta procédure:
Private Sub TransfertExportExcel_Click()
Dim xlapp As Object
Dim acapp As Object
Dim query As Object
Dim XLCnx As ADODB.Connection
Dim XLRst As ADODB.Recordset
Dim monClasseur As String
Dim maFeuille As String
On Error Resume Next
monClasseur = "chemin" 'Ton chemin d'accès (ex: C:\Temp\MonClasseur.xls)
MaFeuille = "absences"
Set xlapp = CreateObject("Excel.Application")
Set acapp = CurrentDb()
Set query = acapp.OpenRecordset("export_absences")
'Connection au classeur Excel
Set XLCnx = New ADODB.Connection
XLCnx.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomClasseur & ";" & _
"Extended Properties=""Excel 8.0;HDR=NO;"""
'Ouverture du recordset
Set XLRst = New ADODB.Recordset
XLRst.Open "Select * from " & maFeuille, XLCnx, adOpenKeyset, adLockOptimistic
'transfert les données Access vers le classeur Excel
Do While Not (query .EOF)
XLRst.AddNew
For j = 0 To XLRst.Fields.Count - 1
XLRst.Fields(j) = query.Fields(j).Value
Next j
XLRst.Update
query.MoveNext
Loop
XLCnx.Close
XLRst.Close
query.Close
Set xlapp = Nothing
Set acapp = Nothing
Set query = Nothing
Set XLCnx = Noting
Set XLRst = Nothing
If Err.Number <> 0 Then
MsgBox Err.Number & " - " & Err.Description, vbCritical, "Erreur !!!"
Else
MsgBox "export réalisé avec succès =)", vbInformation, ""
End If
End Sub
;o)
Bonjour,
As-tu un message d'erreur ?
Sinon, regarde ici https://access.developpez.com/faq/?page=Excel#ExpExclReq tu auras peut être ta réponse.
;o)
As-tu un message d'erreur ?
Sinon, regarde ici https://access.developpez.com/faq/?page=Excel#ExpExclReq tu auras peut être ta réponse.
;o)