Worksheet.Copy, méthode (Excel)

Copie la feuille à un autre emplacement dans le classeur actuel ou dans un nouveau classeur.

Syntaxe

expression. Copier (Avant, Après)

expression Variable qui représente un objet Feuille de calcul.

Parameters

Nom Requis/Facultatif Type de données Description
Before Facultatif Variant Feuille avant laquelle la feuille copiée sera placée. Vous ne pouvez pas spécifier Before si vous spécifiez After.
After Facultatif Variant Feuille après laquelle la feuille copiée sera placée. Vous ne pouvez pas spécifier After si vous spécifiez Before.

Remarques

Si vous ne spécifiez pas Avant ou Après, Microsoft Excel crée un classeur qui contient l’objet Worksheet copié. Le classeur nouvellement créé contient la propriété Application.ActiveWorkbook et contient une seule feuille de calcul. La feuille de calcul unique conserve les propriétés Name et CodeName de la feuille de calcul source. Si la feuille de calcul copiée contenait une feuille de code de feuille de calcul dans un projet VBA, cela est également porté dans le nouveau classeur.

Une sélection matricielle de plusieurs feuilles de calcul peut être copiée dans un nouvel objet Workbook vide de la même manière.

La source et la destination doivent se trouver dans la même instance Excel.Application. Sinon, une erreur d’exécution « 1004 » est générée : aucune interface de ce type n’est prise en charge, si quelque chose de similaire Sheet1.Copy objWb.Sheets(1) a été utilisé, ou une erreur d’exécution « 1004 » : échec de la méthode de copie de la classe Worksheet, si quelque chose comme ThisWorkbook.Worksheets("Sheet1").Copy objWb.Sheets(1) a été utilisé.

Exemple

Cet exemple montre comment copier Feuil1 et placer la copie après Feuil3.

Worksheets("Sheet1").Copy After:=Worksheets("Sheet3")

Cet exemple montre comment d’abord copier la feuille Sheet1 dans un nouveau classeur vide, puis enregistrer et fermer le nouveau classeur.

Worksheets("Sheet1").Copy
With ActiveWorkbook 
     .SaveAs Filename:=Environ("TEMP") & "\New1.xlsx", FileFormat:=xlOpenXMLWorkbook
     .Close SaveChanges:=False
End With

Cet exemple montre comment copier les feuilles de calcul Sheet1, Sheet2 et Sheet4 dans un nouveau classeur vide, puis enregistrer et fermer le nouveau classeur.

Worksheets(Array("Sheet1", "Sheet2", "Sheet4")).Copy
With ActiveWorkbook
     .SaveAs Filename:=Environ("TEMP") & "\New3.xlsx", FileFormat:=xlOpenXMLWorkbook 
     .Close SaveChanges:=False 
End With 

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.