Comment COMPTER des feuilles en utilisant VBA ?

Dans Excel, si vous avez de nombreuses feuilles, vous pouvez utiliser un code VBA pour les compter rapidement au lieu de compter manuellement ou d’utiliser n’importe quelle formule. Ainsi, dans l’article, nous verrons différentes manières de compter les feuilles d’un classeur.

Compter les feuilles du classeur actif

Voici le code que vous devez utiliser pour compter la feuille du classeur actif.

feuilles-de-comptage-forment-le-classeur-actif
ThisWorkbook.Sheets.Count

Dans ce code, d’abord, vous avez fait référence au classeur actif à l’aide de « ThisWorkbook » et faites référence à toutes les feuilles, à la fin, utilisez la méthode de comptage pour compter toutes les feuilles. Et si vous voulez compter les feuilles de calcul au lieu des feuilles, utilisez le code suivant.

ThisWorkbook.Worksheets.Count

Liens utiles : Exécuter une macroEnregistreur de macrosVisual Basic EditorManuel de macros personnelles

Compter les feuilles d’un autre classeur

Vous pouvez utiliser le nom du classeur pour vous y référer, puis compter les feuilles qu’il contient. Supposons que vous souhaitiez compter les feuilles du classeur « Book1 ».

Voici le code.

Workbooks("sample-file.xlsx").Sheets.Count

Ce code vous donne le nombre de feuilles que vous avez dans le classeur « sample-file.xlsx ». Il y a une chose que vous devez prendre ce classeur doit être ouvert.

Compter les feuilles de tous les classeurs ouverts

Vous pouvez avoir plusieurs classeurs ouverts en même temps et vous pouvez compter toutes les feuilles de tous ces classeurs.

Sub vba_loop_all_sheets()

Dim wb As Workbook
Dim i As Long

For Each wb In Application.Workbooks

  If wb.Name <> "PERSONAL.XLSB" Then

      i = i + wb.Sheets.Count

  End If

Next wb

MsgBox "Total sheets in all the open workbooks: " & i

End Sub

Compter les feuilles d’un classeur fermé

Maintenant, nous avons ici un code qui fait référence au classeur enregistré sur le bureau de mon système. Lorsque j’exécute ce code, il ouvre ce classeur à l’arrière et compte les feuilles qu’il contient, puis ajoute ce décompte à la cellule A1.

Sub vba_count_sheets()

Dim wb As Workbook

Application.DisplayAlerts = False

Set wb = Workbooks.Open("C:UsersDellDesktopsample-file.xlsx")

ThisWorkbook.Sheets(1).Range("A1").Value _
= wb.Sheets.Count

wb.Close SaveChanges:=True

Application.DisplayAlerts = True

End Sub

Nous avons désactivé les alertes d’affichage pour ouvrir et fermer le fichier au niveau du backend.

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *