J'aimerais exporter une table Access vers une feuille Excel deja existante.
Car à chque fois que je lance le module ça me met cette erreur:
Erreur d'execution '1004':
Impossible de renommer une feuille comme une autre feuille, une bibliotheque d'objets référencée ou un classeur référencée par Visual Basic
Voici mon code:
Option Compare Database
Global Const RepertoireTableauBord As String = "C:\Documents and Settings\A4382\Bureau\stage\"
Global Const Titre As String = "Suivi Conquête "
Dim erreur_traitement As Boolean
Function ExportExcel()
Dim db As DAO.Database
Dim IndicateursSemaine As DAO.Recordset
Dim Total As Integer
Dim xlApp As Object
Set db = CurrentDb
'Lancement d'EXCEL
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = False
'Affectation du nom du classeur de suivi
TableauBordSuivi = "Nvx clients par BG 2006 S14.xls"
'Test d'existence du classeur
Set fs = CreateObject("Scripting.FileSystemObject")
If fs.FileExists(RepertoireTableauBord & TableauBordSuivi) = False Then
erreur = MsgBox("Le fichier " & RepertoireTableauBord & TableauBordSuivi & " n'existe pas !", 16, Titre)
Exit Function
Else
xlApp.Workbooks.Open Filename:=RepertoireTableauBord & TableauBordSuivi
End If
'Extraction des rubriques de la table Tmp_Indicateurs pour la semaine à traiter
Set IndicateursSemaine = db.OpenRecordset("select Semaine, BG, Nb_Mineur, Nb_Part, Nb_Pro, Nb_SCI, Nb_Asso, Total_BG from T31_Cumul_Nvx_clients_par_BG order by BG")
' MsgBox Nz(ZoneDeTexte) + 1
Numsemaine = "S0"
'Création feuille de la semaine, sauf si déjà existante.
IndExiste = 0
For Each feuille In xlApp.ActiveWorkbook.Sheets
If feuille.Name = Numsemaine Then
IndExiste = 1
End If
Next feuille
If IndExiste = 0 Then
xlApp.ActiveWorkbook.Sheets(1).Copy After:=xlApp.ActiveWorkbook.Sheets(IndicateursSemaine![Semaine] + 1)
'xlApp.ActiveWorkbook.Sheets.Add
End If
xlApp.ActiveWorkbook.ActiveSheet.Name = Numsemaine
xlApp.ActiveWorkbook.Close SaveChanges:=True
xlApp.Application.WindowState = xlMinimized
xlApp.Quit
Set xlApp = Nothing
'Mise à jour des zones concernées
DoCmd.TransferSpreadsheet acExport, 8, "T31_Cumul_Nvx_clients_par_BG", RepertoireTableauBord & TableauBordSuivi, True, Numsemaine & "!A:G"
'Fermeture avec enregistrement du tableau de bord, et libération des ressources
'xlApp.ActiveWorkbook.Close SaveChanges:=True
'Enregistrement du tableau de bord Agent
' xlApp.ActiveWorkbook.Save
' xlApp.Application.WindowState = xlMinimized
Sheets("S0").Select
Selection.Copy
Sheets("S15").Select
Range("A1").Select
ActiveSheet.Paste
IndicateursSemaine.Close
'xlApp.Quit
'Set xlApp = Nothing]
Set IndicateursSemaine = Nothing
Set db = Nothing
Exit Function
End Function
Merci beaucoup pour votre aide...
