Bonjour,
J'allais proposer une solution avec SOUSTOTAL, avant de me rappeler que ce n'était compatible qu'avec les filtres, donc ça n'aurait pas marché si on avait choisi de masquer des colonnes par exemple...
J'ai donc fait une petite fonction VBA qui permet de savoir si un ensemble de cellule est visible ou non.
Petit inconvénient: masquer des lignes ou des colonnes ne relance pas le calcul du classeur, il faut donc bien penser à recalculer.
Le code:
Function f_visible(Plage As Range) As Variant
Dim tableau As Variant
Application.Volatile
ReDim tableau(1 To Plage.Rows.Count, 1 To Plage.Columns.Count)
For i = 1 To UBound(tableau, 1)
For j = 1 To UBound(tableau, 2)
tableau(i, j) = Not (Plage.Cells(i, j).EntireRow.Hidden Or Plage.Cells(i, j).EntireColumn.Hidden)
Next j
Next i
f_visible = tableau
End Function