Export de données vers Excel
Bonjour,
Je souhaite exporter des données de deux tables Access vers Excel.
J'ai utilisé le code ci dessous. Mais cela ne fonctionne que pour la première partie. Est il possible de créer un onglet dans un fichier Excel existant ?
Mon code fonctionne bien comme cela mais si je rajoute une seconde partie pour exporter une seconde table dans le même fichier, j'ai une erreur.
Second problème, la commande autofit pour l'ajustement des cellules ne fonctionne pas
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| Private Sub Export_Excel_Click()
Dim xlWbk As Excel.Workbook, xlSheet As Excel.Worksheet
Dim strXLFile As String, strFeuille1 As String, strFeuille2 As String
Dim strRequeteinfoclient As String
Dim strRequeteliste1 As String, strRequeteliste2 As String
' Nom de la table ou de la requête
strRequeteliste1 = "Requête Export Liste Extincteurs Excel"
strRequeteliste2 = "Export excel coordonnées client"
' Nom completdu fichier excel
strXLFile = "d:\bases extincteurs\Access 2007\rapport.xls"
' Nom de la feuille excel
strFeuille1 = "Liste"
strFeuille2 = "coordonnées"
'Supprimer fichier avant export
If Dir(strXLFile) <> "" Then Kill strXLFile
'Ajouter une feuille de calcul nommée Coordonnées
'xlSheet.Name = strFeuille2
'Set xlSheet = xlWbk.Worksheets.Add
'xlSheet.Name = strFeuille2
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, strRequeteliste1, _
strXLFile, True, strFeuille1
' Ouvre classeur
Set xlWbk = GetObject(strXLFile)
' référence la feuille
Set xlSheet = xlWbk.Worksheets(strFeuille1)
xlSheet.Columns.AutoFit ' ajustement automatique largeur colonnes
End Sub |
Second code qui ne fonctionne pas. Renvoie une erreur
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| 'Ajouter une feuille de calcul nommée Coordonnées
Set xlSheet = xlWbk.Worksheets.Add
xlSheet.Name = strFeuille2
' Nom de la table ou de la requête
'strRequeteliste1 = "Export excel coordonnées client"
' Nom completdu fichier excel
strXLFile = "d:\bases extincteurs\Access 2007\rapport.xls"
' Nom de la feuille excel
strFeuille2 = "Coordonnées"
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, strRequeteliste2, _
'strXLFile, True, strFeuille2
' Ouvre classeur
Set xlWbk = GetObject(strXLFile)
' référence la feuille
Set xlSheet = xlWbk.Worksheets(strFeuille2)
xlSheet.Columns.AutoFit ' ajustement automatique largeur colonnes |
Merci d'avance de votre aide
Marcopololo
P.S. Si je désactive une partie du code ou l'autre cela fonctionne mais je n'ai qu'un onglet de créé.