Masquer lignes vides via cellules sélection
Résolu/Fermé
el-doyon
Messages postés
42
Date d'inscription
mardi 13 octobre 2009
Statut
Membre
Dernière intervention
3 février 2017
-
1 nov. 2009 à 19:33
el-doyon - 2 nov. 2009 à 15:47
el-doyon - 2 nov. 2009 à 15:47
A voir également:
- Masquer lignes vides via cellules sélection
- Masquer conversation whatsapp - Guide
- Excel additionner des cellules - Guide
- Verrouiller cellules excel - Guide
- Comment masquer les amis sur facebook - Guide
- Appel masquer - Guide
1 réponse
pilas31
Messages postés
1825
Date d'inscription
vendredi 5 septembre 2008
Statut
Contributeur
Dernière intervention
24 avril 2020
643
2 nov. 2009 à 14:51
2 nov. 2009 à 14:51
Bonjour,
Voila une petite adaptation qui doit mieux fonctionner.
Quelques explications :
1/ on teste si c'est bien une valeur entre C11 et H11 qui est modifiée
2/ les lignes cachées sont celles qui ne contiennent que des cellules vides ou avec un espace (car certaines formules mettent un espace)
3/ le xlCellTypeLastCell donne la dernière ligne affichée (il me semble) d'ou la nécéssité de tout afficher avant
4/ Pour éviter les affichages "indésirables" pendant les boucles j'ai mis un screenupdating
A+
Voila une petite adaptation qui doit mieux fonctionner.
Private Sub Worksheet_Change(ByVal sel As Range) Dim col As Integer Dim lig As Long Application.ScreenUpdating = False If Not Intersect(Range("C11:H11"), sel) Is Nothing Then Cells.Select Selection.EntireRow.Hidden = False For lig = Cells.SpecialCells(xlCellTypeLastCell).Row To 16 Step -1 For col = Rows(lig).SpecialCells(xlCellTypeLastCell).Column To 1 Step -1 If IsError(Cells(lig, col).Value) Then Exit For If Cells(lig, col).Value <> "" And Cells(lig, col).Value <> " " Then Exit For Next col If col = 0 Then Rows(lig).Hidden = True Else Rows(lig).Hidden = False End If Next lig End If sel.Select Application.ScreenUpdating = True End Sub
Quelques explications :
1/ on teste si c'est bien une valeur entre C11 et H11 qui est modifiée
2/ les lignes cachées sont celles qui ne contiennent que des cellules vides ou avec un espace (car certaines formules mettent un espace)
3/ le xlCellTypeLastCell donne la dernière ligne affichée (il me semble) d'ou la nécéssité de tout afficher avant
4/ Pour éviter les affichages "indésirables" pendant les boucles j'ai mis un screenupdating
A+
2 nov. 2009 à 15:47
A+,
el-doyon