OVH Cloud OVH Cloud

recopier des feuilles Excel

1 réponse
Avatar
aprim
Bonjour,

Je dois remplir et mettre à jour des feuilles Excel avec des données
diverses.
Je dispose d'un classeur Excel 'vide' avec une feuille 'modèle' qui est
formatée
avce des formules etc...

J'arrive très bien a ouvrir la feuille et écrire dedans avec un objet data
et une
dbgrid. Mais je cherche le code me permettant de dupliquer la feuille et de
lui
donner un nom, avant de la remplir

(vb6 / W 2k / Office 2k)
Merci d'avance

1 réponse

Avatar
François Picalausa
Bonjour/soir,

L'enregistreur de macros est ton ami!
Sous Excel XP, en enregistrant la macro adéquate, on obtient:

Sheets("Feuil1").Select
Sheets("Feuil1").Copy After:=Sheets(3)
Sheets("Feuil1 (2)").Select
Sheets("Feuil1 (2)").Name = "MaFeuille"

Sachant que Sheets est en fait Excel.Sheets et donc, dans ton appli VB6
MonObjetExcel.Sheets, ton code est pratiquement finit.

Voici une version un rien plus aboutie:
Sub DupliqueFeuille()
Dim MyWorkSheet As Excel.Worksheet
Set MyWorkSheet = ExcelApp.Worksheets("Feuil1")
'Copie la feuille à la fin
MyWorkSheet.Copy , ExcelApp.Worksheets(ExcelApp.Worksheets.Count)
'et joue un peu avec
Set MyWorkSheet = ExcelApp.Worksheets(ExcelApp.Worksheets.Count)
MyWorkSheet.Name = "Hello!"
MyWorkSheet.Cells(1, 1).FormulaR1C1 = "=0"
'Pour simplement renommer, on pourrait aussi faire
ExcelApp.Worksheets(ExcelApp.Worksheets.Count).Name = "Nouveau Nom"
End Sub

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com

"aprim" a écrit dans le message de
news:%
Bonjour,

Je dois remplir et mettre à jour des feuilles Excel avec des données
diverses.
Je dispose d'un classeur Excel 'vide' avec une feuille 'modèle' qui est
formatée
avce des formules etc...

J'arrive très bien a ouvrir la feuille et écrire dedans avec un objet data
et une
dbgrid. Mais je cherche le code me permettant de dupliquer la feuille et


de
lui
donner un nom, avant de la remplir

(vb6 / W 2k / Office 2k)
Merci d'avance