Bonjour à tous;
Une aide pour améliorer le code joint.
Pour cacher des lignes de plages précises,,,, sauf si la cellule de la colonne C dans la ligne supérieure est <> de " ". Voici un code qui marche, mais saccade.
Est-il possible de faire mieux, ou d'accélérer en évitant le code qui affiche toutes les lignes avant de les cachées.
Pour être honnête, je ne suis pas l'auteur de ce code.
Je remercie par avance le ou les personnes qui veulent bien m'aider.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 Sub MasquerLignes() Dim lgn, i%, j%, listLn$ lgn = Split("C33:C41 C45:C48 C52 C58:C61 C66:C69 C75 C80 C85 88:227") With Worksheets("Ligne A") .Unprotect .Rows.Hidden = False For i = 0 To UBound(lgn) With .Range(lgn(i)) For j = 1 To .Rows.Count If .Cells(j - 1, 1) = "" Then listLn = listLn & " " & .Cells(j, 1).Row Next j End With Next i lgn = Split(LTrim(listLn)) Application.ScreenUpdating = False For i = 0 To UBound(lgn) .Rows(lgn(i)).Hidden = True Next i .Protect End With End Sub
Partager