Code vba export access vers excel [Résolu/Fermé]

Signaler
-
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
-
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


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 
  


4 réponses

Messages postés
15423
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
23 novembre 2020
1 403
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
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 76687 internautes nous ont dit merci ce mois-ci

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
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 140
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:

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)
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 76687 internautes nous ont dit merci ce mois-ci

Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 127
Bonjour,
voir ce tuto
Et surtout pas oublier d'ajouter la référence.
A+
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 140
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)