1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| Sub SumNonHidden()
Dim StartCol As Long, EndCol As Long, r As Long, DerLigne As Long
'Affiche toutes les lignes
Cells.EntireRow.Hidden = False
'Défini la dernière ligne utilisée sur base de la colonne C
DerLigne = Cells(Columns(3).Cells.Count, 3).End(xlUp).Row
'Défini la première colonne non masquée, part de la colonne C vers la droite
StartCol = Cells(7, 3).End(xlToRight).Column
'Défini la dernière colonne non masquée, par de la dernière colonne vers gauche
EndCol = Cells(7, Rows(7).Cells.Count).End(xlToLeft).Column
'Boucle sur chaque ligne du tableau en commençant à la 8ème
For r = 8 To DerLigne
'Si la somme de la plage définie par les colonnes non masquées = 0 on masque la ligne en question
If Application.Subtotal(9, Range(Cells(r, StartCol), Cells(r, EndCol))) = 0 Then Rows(r).Hidden = True
'Passe à la ligne suivante
Next r
End Sub |
Partager