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
Second code qui ne fonctionne pas. Renvoie une erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Merci d'avance de votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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éé.
Partager