Masquer une plage de cellules vides

Upinfo

XLDnaute Nouveau
Bonjour
Voila, je me lance: https://www.cjoint.com/c/IDcsb1D4qTz
Je veux que quand je choisis "A" dans la liste déroulante A2; les plages de lignes vides (colores en orange) seront masques. Quand je choisis "B" dans la liste déroulante A2; les plages de lignes vides (colores en bleu) seront masques. Quand je choisis "A" dans la liste déroulante A2; les plages de lignes vides (colores en violet) seront masques.
D'avance merci.
 

Pièces jointes

  • Filtre.xlsx
    9.8 KB · Affichages: 11

sousou

XLDnaute Barbatruc
bonsoir
Voici une proposition que tu peux facilement faire evoluée basée sur select case
je test si l'ensemble de la ligne est vide si j'ai bien compris?
J'ai simplement supprimer les guillemets de tes choix par facilité.
 

Pièces jointes

  • Filtre.xlsm
    21.7 KB · Affichages: 11

sousou

XLDnaute Barbatruc
re
désolé, mais j'ai du mal à comprendrele rapport avec le début du sujet,
les chiffres de même couleur?(rouge, verte,bleue)
sur quelle action tu veux masquer les lignes vides?
quid des couleurs des lignes?
voilà de quoi masquer toues les lignes vides
Sub toutvide()
drlg = dernièrelg(Sheets(1), 1, 5)
With Sheets(1)
Set zone = .Range(.Cells(5, 2), .Cells(drlg, 10))
For Each lg In zone.Rows
If testvide(lg) = True Then lg.EntireRow.Hidden = True
Next
End With
End Sub
 

Upinfo

XLDnaute Nouveau
Ok peut-être que je me suis mal exprimé au début.
En fait, j'ai ce tableau.
Quand je choisis parmi les A, B et C, je veux seulement que les lignes comportant des chiffres s'affichent, les lignes vides soient masquées.
Ex: quand je choisis A, il ne s'affiche que les lignes avec les chiffres en vert, B avec les chiffres en rouge, etc...
Espérant avoir répondu a ta question.
 

job75

XLDnaute Barbatruc
Bonjour Upinfo, sousou,

Voyez le fichier joint.

Les lignes vides sont colorées par une MFC sur les colonnes A:J entières :
Code:
=(LIGNE()>4)*($A1<>"")*NON(SOMMEPROD(N($B1:$J1<>"")))
La liste de validation en A2 affiche/masque ces lignes par cette macro :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$2" Then Exit Sub
[K3] = IIf([A2] = "Masquer", "=(A3="""")+SUMPRODUCT(N(B3:J3<>""""))", True) 'critère
Range("A2:J" & Rows.Count).AdvancedFilter xlFilterInPlace, [K2:K3] 'filtre avancé
End Sub
A+
 

Pièces jointes

  • Filtre(1).xlsm
    23.7 KB · Affichages: 1
Dernière édition:

sousou

XLDnaute Barbatruc
bonsoir job75 et upinfo
Bon j'espère que ce coup sera meilleur
Même chose que première version, mais avec la couleur des textes et non celle des lignes
Si c'est cela ca prouve une fois de plus la citation ci-dessous! Si non....
 

Pièces jointes

  • Filtre2.xlsm
    21.2 KB · Affichages: 7

job75

XLDnaute Barbatruc
Bonjour Upinfo, sousou, le forum,

Fichier (2) avec le code pour filtrer les couleurs de polices :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range, coul
If Intersect(Target, [A2]) Is Nothing Then Exit Sub
If [A2] = "" Then Rows.Hidden = False: Exit Sub
Set r = Intersect(UsedRange, Rows("5:" & Rows.Count))
If r Is Nothing Then Exit Sub
coul = Switch([A2] = "A", 255, [A2] = "B", 12611584, [A2] = "C", 5287936)
Application.ScreenUpdating = False
r.EntireRow.Hidden = True
For Each r In r
    If r <> "" Then If r.Font.Color = coul Then r.EntireRow.Hidden = False
Next
End Sub
Bonne journée.
 

Pièces jointes

  • Filtre(2).xlsm
    24.8 KB · Affichages: 3

Discussions similaires

Statistiques des forums

Discussions
311 733
Messages
2 082 015
Membres
101 867
dernier inscrit
XFPRO