Partager via


Comment : répertorier toutes les feuilles de calcul d'un classeur par programmation

La classe Microsoft.Office.Interop.Excel.Workbook fournit un objet Microsoft.Office.Interop.Excel.Worksheets.Cet objet contient une collection de tous les objets Microsoft.Office.Interop.Excel.Worksheet du classeur spécifié.

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.

Pour répertorier toutes les feuilles de calcul existantes dans un classeur dans une personnalisation au niveau du document

  • Itérez au sein de la collection Worksheets et envoyez le nom de chaque feuille vers une cellule décalée par un contrôle NamedRange.

    Private Sub ListSheets()
        Dim index As Integer = 0
    
        Dim NamedRange1 As Microsoft.Office.Tools.Excel.NamedRange = _
            Globals.Sheet1.Controls.AddNamedRange( _
            Globals.Sheet1.Range("A1"), "NamedRange1")
    
        For Each displayWorksheet As Excel.Worksheet In Globals.ThisWorkbook.Worksheets
            NamedRange1.Offset(index, 0).Value2 = displayWorksheet.Name
            index += 1
        Next displayWorksheet
    End Sub
    
    private void ListSheets()
    {
        int index = 0;
    
        Microsoft.Office.Tools.Excel.NamedRange NamedRange1 =
            Globals.Sheet1.Controls.AddNamedRange(
            Globals.Sheet1.Range["A1"], "NamedRange1");
    
        foreach (Excel.Worksheet displayWorksheet in Globals.ThisWorkbook.Worksheets)
        {
            NamedRange1.Offset[index, 0].Value2 = displayWorksheet.Name;
            index++;
        }
    }
    

Pour répertorier toutes les feuilles existantes dans un classeur dans un complément d'application

  • Itérez au sein de la collection Worksheets et envoyez le nom de chaque feuille vers une cellule décalée par un objet Microsoft.Office.Interop.Excel.Range.

    Private Sub ListSheets()
        Dim index As Integer = 0
    
        Dim rng As Excel.Range = Me.Application.Range("A1")
    
        For Each displayWorksheet As Excel.Worksheet In Me.Application.Worksheets
            rng.Offset(index, 0).Value2 = displayWorksheet.Name
            index += 1
        Next displayWorksheet
    End Sub
    
    private void ListSheets()
    {
        int index = 0;
    
        Excel.Range rng = this.Application.get_Range("A1");
    
        foreach (Excel.Worksheet displayWorksheet in this.Application.Worksheets)
        {
            rng.get_Offset(index, 0).Value2 = displayWorksheet.Name;
            index++;
        }
    }
    

Voir aussi

Tâches

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

Comment : déplacer des feuilles de calcul dans les classeurs par programmation

Concepts

Utilisation des feuilles de calcul

Accès global aux objets dans les projets Office