Pble transfert d'access vers excel VBA
ANNE
-
ANNE -
ANNE -
hello , j'ecris un code pour transferer certaines données d'une table access vers une feuille excel .Mon pble est que je dois le faire sur deux feuille diff et non sur deux classeurs diff et je n'y arrive pas .
voila mon code, si qq sais cmt fair ,
merci;
Option Compare Database
'Extraction des données sur fichier Excel
Sub Export()
Dim SQL_ligne As String, s As String
Dim bds As Database, rst As Recordset
' Récupération de données de la table
SQL_ligne = "SELECT * FROM Situation WHERE month(DateSituation)=7 ;"
Set bds = CurrentDb
Set rst = bds.OpenRecordset(SQL_ligne)
' Créer une instance d'Excel
Set xlApp = CreateObject("Excel.Application")
Set xlWb = xlApp.Workbooks.Add
Set xlWs = xlWb.Worksheets(1)
' Affichage Excel
xlApp.Visible = True
xlApp.UserControl = True
' Copie des noms de champs a la premiere ligne de la feuille de travail
fldCount = rst.Fields.Count
For iCol = 1 To fldCount
xlWs.Cells(1, iCol).Value = rst.Fields(iCol - 1).Name
Next
' Copie des enregistrements dans excel à partir de A2
xlWs.Cells(2, 1).CopyFromRecordset rst
' Enregistrer un fichier Excel depuis MS Access via VBA
xlApp.Application.ActiveWorkbook.SaveAs Filename:="D:\SAFIG\SAFIG.xls"
'DoCmd.TransferSpreadsheet acExport, 8, "Situation", "D:\SAFIG\SAFIG.xls", True, "feuil2!" avec ca je copie tt la table et moi je nai besoin que du resultat de la requette
'Fermeture du recordset
rst.Close
End Sub
voila mon code, si qq sais cmt fair ,
merci;
Option Compare Database
'Extraction des données sur fichier Excel
Sub Export()
Dim SQL_ligne As String, s As String
Dim bds As Database, rst As Recordset
' Récupération de données de la table
SQL_ligne = "SELECT * FROM Situation WHERE month(DateSituation)=7 ;"
Set bds = CurrentDb
Set rst = bds.OpenRecordset(SQL_ligne)
' Créer une instance d'Excel
Set xlApp = CreateObject("Excel.Application")
Set xlWb = xlApp.Workbooks.Add
Set xlWs = xlWb.Worksheets(1)
' Affichage Excel
xlApp.Visible = True
xlApp.UserControl = True
' Copie des noms de champs a la premiere ligne de la feuille de travail
fldCount = rst.Fields.Count
For iCol = 1 To fldCount
xlWs.Cells(1, iCol).Value = rst.Fields(iCol - 1).Name
Next
' Copie des enregistrements dans excel à partir de A2
xlWs.Cells(2, 1).CopyFromRecordset rst
' Enregistrer un fichier Excel depuis MS Access via VBA
xlApp.Application.ActiveWorkbook.SaveAs Filename:="D:\SAFIG\SAFIG.xls"
'DoCmd.TransferSpreadsheet acExport, 8, "Situation", "D:\SAFIG\SAFIG.xls", True, "feuil2!" avec ca je copie tt la table et moi je nai besoin que du resultat de la requette
'Fermeture du recordset
rst.Close
End Sub
A voir également:
- Pble transfert d'access vers excel VBA
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel compter cellule couleur sans vba - Guide