Partager via


Comment : copier des feuilles de calcul par programmation

Vous pouvez créer une copie d'une feuille de calcul et insérez cette feuille de calcul avant ou après une feuille existante dans le classeur.Si vous ne spécifiez pas d'emplacement d'insertion de la feuille de calcul, Excel crée un nouveau classeur dans lequel la placer.

S'applique à : Les informations contenues dans cette rubrique s'appliquent aux projets de niveau document et de niveau application pour Excel 2013 et Excel 2010. Pour en savoir plus, consultez Fonctionnalités disponibles par type d'application et de projet Office.

[!REMARQUE]

Que vous copiiez la feuille de calcul par programmation ou que l'utilisateur final la copie manuellement, la nouvelle feuille de calcul n'a pas de code-behind et les contrôles sur la nouvelle feuille de calcul ne fonctionnent pas.Cela est dû au fait que la feuille de calcul récemment copiée est un objet Microsoft.Office.Interop.Excel.Worksheet et non un élément hôte Microsoft.Office.Tools.Excel.Worksheet.Les contrôles Windows Forms et les contrôles hôtes peuvent uniquement être ajoutés aux éléments hôtes.Pour plus d'informations, consultez Limitations de programmation des éléments hôtes et des contrôles hôtes.

Pour ajouter une copie de feuille de calcul à un classeur dans une personnalisation au niveau du document

  • Utilisez la méthode Copy pour copier la première feuille de calcul du classeur actif et placez la copie après la troisième feuille.

    Globals.Sheet1.Copy(After:=Globals.ThisWorkbook.Sheets(3))
    
    Globals.Sheet1.Copy(Globals.ThisWorkbook.Sheets[3]);
    

Pour ajouter une copie de feuille de calcul à un classeur dans un complément d'application

  • Utilisez la méthode Copy pour copier la première feuille de calcul du classeur actif et placez la copie après la troisième feuille.

    Dim worksheet1 As Excel.Worksheet = CType(Application.ActiveWorkbook.Worksheets(1),  _
    Excel.Worksheet)
    Dim worksheet3 As Excel.Worksheet = CType(Application.ActiveWorkbook.Worksheets(3),  _
    Excel.Worksheet)
    worksheet1.Copy(After:=worksheet3)
    
    Excel.Worksheet worksheet1 = ((Excel.Worksheet)Application.ActiveWorkbook.Worksheets[1]);
    Excel.Worksheet worksheet3 = ((Excel.Worksheet)Application.ActiveWorkbook.Worksheets[3]);
    worksheet1.Copy(worksheet3);
    

Voir aussi

Tâches

Comment : ajouter des feuilles de calcul à des classeurs par programmation

Comment : supprimer des feuilles de calcul des classeurs par programmation

Comment : sélectionner des feuilles de calcul par programmation

Concepts

Utilisation des feuilles de calcul

Vue d'ensemble des éléments hôtes et des contrôles hôtes

Automatisation d'Excel à l'aide d'objets étendus

Accès global aux objets dans les projets Office

Limitations de programmation des éléments hôtes et des contrôles hôtes

Paramètres optionnels dans les solutions Office