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 : 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
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
'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éé.