Bonjour ...
@eric, réponse 0 chez moi malgré de ce tu appelles piège (bien vu quand même !).
Je pencherais plutôt pour
Function nbFeuilles(ByVal motif As String) As Long
Dim sh As Worksheet
Application.Volatile
For Each sh In Worksheets
nbFeuilles = nbFeuilles - (sh.Name Like "*" & motif)
Next
End Function
en proposant aussi, dans la fenêtre des codes de ThisWorkbook pour une réponse dans la cellule A1 de chaque feuille :
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal R As Range)
If R.Address <> Sh.[A1].Address Then Exit Sub
Dim F As Worksheet, tx As String
tx = "*tc": R = 0
For Each F In Sheets: R = R - (F.Name Like tx): Next
R(2, 1).Select 'pour une autre reprise
End Sub