copier une feuille dans un nouveau doc excel
salut tout le monde,
j'aurais encore une question :)
eh oui, j'essai de piloter excel a partir d'access, mais j'ai encore un leger soucis :
j'aurais besoin de prendre une feuille dans un classeur de réference et de la copier dans un nouveau classeur :
pour cela j'ai le code suivant :
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
|
Dim xlApp As Object
Dim xlSheet As Object
Dim AncienDoc As Object
Dim xlBook As Object
Dim db As Database
Dim sql As String
Dim result As Recordset
Dim i As Long
'initialisation des variables
Set db = CurrentDb
Set xlApp = CreateObject("Excel.Application")
Set AncienDoc = xlApp.workbooks.Open("H:\Bdd Client\Convention\Convention.xls")
'ouvre un nouveau document
xlApp.workbooks.Add
'on se place sur le nouveau document
Set xlBook = xlApp.ActiveWorkbook
'on l'enregistre
xlBook.saveas ("H:\BDD Client\Convention\" & NumDevis)
'Copie l'ancienne convention dans le nouveau que l'on vient d'enregistrer
AncienDoc.Worksheets("Convention").Copy Destination = xlBook("H:\BDD Client\Convention\" & NumDevis)
Set xlSheet = xlBook.Worksheets("Convention")
xlSheet.Name = NumDevis |
avec ce code là, j'arrive à créer le nouveau document, à l'enregistrer, mais pas à copier ma feuille.
quelqu'un a une idée ? c'est possible ou alors il faut que j'utilise une autre méthode ?
merci d'avance ;)
Re: copier une feuille dans un nouveau doc excel
Bonjour,
Citation:
Envoyé par alkmehd
j'aurais besoin de prendre une feuille dans un classeur de réference et de la copier dans un nouveau classeur :
pour cela j'ai le code suivant :
Code:
1 2 3 4 5
|
...
'Copie l'ancienne convention dans le nouveau que l'on vient d'enregistrer
AncienDoc.Worksheets("Convention").Copy Destination = xlBook("H:\BDD Client\Convention\" & NumDevis)
... |
avec ce code là, j'arrive à créer le nouveau document, à l'enregistrer, mais pas à copier ma feuille.
quelqu'un a une idée ? c'est possible ou alors il faut que j'utilise une autre méthode ?
En continuant avec cette méthode, pour copier la feuille au début de ton nouveau classeur, le code correct devrait ressembler à ce qui suit:
Code:
1 2 3 4 5
|
...
'Copie l'ancienne convention dans le nouveau que l'on vient d'enregistrer
AncienDoc.Worksheets("Convention").Copy Before:=xlBook.Sheets(1)
... |
Comme autres méthodes, tu peux effectuer une copie de ton fichier de référence ou utiliser un modèle de classeur (ce qui revient quasiment au-même).
Bonne continuation.
=JBO=