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.
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 macro – Enregistreur de macros – Visual Basic Editor – Manuel 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.
Tutoriels associés
- EFFACER une feuille entière à l’aide de VBA dans Excel
- Copier et déplacer une feuille dans Excel à l’aide de VBA
- SUPPRIMER une FEUILLE en utilisant VBA dans Excel
- Masquer et afficher une feuille à l’aide de VBA dans Excel
- PROTÉGER et DÉPROTÉGER une feuille à l’aide de VBA dans Excel
- RENOMMER une feuille en utilisant VBA dans Excel