Exportation d'une table Access sous Excel!!!!

Fermé
calimero76 Messages postés 5 Date d'inscription lundi 22 mars 2004 Statut Membre Dernière intervention 10 juin 2004 - 10 juin 2004 à 12:09
DaNot Messages postés 221 Date d'inscription mardi 30 septembre 2003 Statut Membre Dernière intervention 4 novembre 2005 - 10 juin 2004 à 14:33
Bonjour,
J'aurai aimé savoir comment faire pour copier une table access dans une feuille Excel, le tout sous access(vba).
Merci d'avance,
@+
calimero
A voir également:

3 réponses

zook Messages postés 38 Date d'inscription jeudi 13 mai 2004 Statut Membre Dernière intervention 6 juillet 2015 6
10 juin 2004 à 13:50
pourquoi tu n'utilises pas les macros...
en vba access je ne peux pas t'aider
0
Je n'avais pas pensé o macro! Je ne les utilise jamais!Merci!!!Il me reste tout de même un petit problème : je dois (toujours à partir d'access) insérer une formule de calcul dans excel!!!
Si tu sais comment faire ça m'aiderai beaucoup!!!
Merci encore
calimero
0
DaNot Messages postés 221 Date d'inscription mardi 30 septembre 2003 Statut Membre Dernière intervention 4 novembre 2005 163
10 juin 2004 à 14:33
Salut,

J'utilise un module de class pour les acces a Excel :
Option Compare Database
Option Explicit

Public gExcelApp As Excel.Application
Public gCurrentWorkbook As Excel.Workbook
Public gCurrentSheet As Excel.Worksheet
Public gCurrentSheetNumber As Integer

Private gExcelAppLaunched As Boolean

Private Sub Class_Initialize()
    
   On Error GoTo NoExcelLaunched
   
   gExcelAppLaunched = False
   
   'Try to get Excel application (if running)
   Set gExcelApp = GetObject(, "Excel.Application")
   gExcelAppLaunched = True
   GoTo CommonEnd

NoExcelLaunched:
   On Error GoTo EndOfSub
   'No Excel running => Creation
   Set gExcelApp = CreateObject("Excel.Application")

CommonEnd:
   Exit Sub

EndOfSub:
   Err.Description = "Error occured during launch Excel application (class ExcelClass)"
   ShowErrorMessage

End Sub

Private Sub Class_Terminate()
    
   If Not gExcelAppLaunched Then
      Set gCurrentSheet = Nothing
      Set gCurrentWorkbook = Nothing
      gExcelApp.Application.Quit
      Set gExcelApp = Nothing
   End If

End Sub

Public Sub ShowErrorMessage()
   If Err.Number <> 0 Then MsgBox Err.Description
   Err.Clear
End Sub

Public Sub Visible()
   If Not gExcelApp.Visible Then gExcelApp.Visible = True
End Sub


Ensuite tu utilises dans un module classique :
Sub FormatResultsFile(aFileName As String)

   Dim lExcel As MSExcel_Class
   Dim lWorkbook As Workbook
   Dim lTabCount As Long
   
   Set lExcel = New MSExcel_Class
   'lExcel.Visible
   
   Set lWorkbook = lExcel.gExcelApp.Workbooks.Open(aFileName)
   
   For lTabCount = 1 To 7
      lWorkbook.Sheets(lTabCount).Activate
   
      lWorkbook.Sheets(lTabCount).Range(lWorkbook.Sheets(lTabCount).Cells(1, 1), lWorkbook.Sheets(lTabCount).Cells(1, lWorkbook.Sheets(lTabCount).UsedRange.Columns.Count)).Select
      DrawGridBorder lExcel
      DrawFrameBorder lExcel
      lExcel.gExcelApp.Selection.Interior.ColorIndex = 15
      lExcel.gExcelApp.Selection.Interior.Pattern = xlSolid
      lExcel.gExcelApp.Selection.Font.Bold = True
      lExcel.gExcelApp.Selection.HorizontalAlignment = xlCenter
      lExcel.gExcelApp.Selection.VerticalAlignment = xlBottom
      lExcel.gExcelApp.Selection.WrapText = False
      lExcel.gExcelApp.Selection.Orientation = 0
      lExcel.gExcelApp.Selection.ShrinkToFit = False
      lExcel.gExcelApp.Selection.MergeCells = False
      lWorkbook.Sheets(lTabCount).Range("A1").Select
      
      lWorkbook.Sheets(lTabCount).Range(lWorkbook.Sheets(lTabCount).Cells(2, 1), lWorkbook.Sheets(lTabCount).Cells(lWorkbook.Sheets(lTabCount).UsedRange.Rows.Count, lWorkbook.Sheets(lTabCount).UsedRange.Columns.Count)).Select
      DrawGridBorder lExcel
      DrawFrameBorder lExcel
      lWorkbook.Sheets(lTabCount).Range("A1").Select
      
      lWorkbook.Sheets(lTabCount).Cells.EntireColumn.AutoFit
   Next
   
   lWorkbook.Sheets(1).Activate
   lWorkbook.Sheets(1).Range("A1").Select
   lWorkbook.Close True
   
   Set lExcel = Nothing

End Sub


Voila si ca peux t'aider...

DaNot
un Libre ouvert à la source...
0