Masquer ligne sous condition d'une cellule

chaelie2015

XLDnaute Accro
Bonjour forum;
Je souhaite MASQUER la ligne si la cellule A est Vide
( a partir de la ligne 21 a la ligne 48) via un bouton.
exemple si A21-A34 ne sont pas vide et A35-A40 sont vide alors on masque toutes les ligne ( de 21 au 48 ) sauf les lignes 21 - 34
Salutations
 

chaelie2015

XLDnaute Accro
Bonjour chaelie2015,

Il y a sûrement plusieurs dizaines de fils où ce problème est traité.

A+
Bonjour Job
MERCI pour la remarque
j'ai déjà utilisé un code mais il il est très lourd

Sub Masquer_afficher_3_1()
Rows("21").Hidden = Range("A21") = ""
Rows("22").Hidden = Range("A22") = ""
Rows("23").Hidden = Range("A23") = ""
Rows("24").Hidden = Range("A24") = ""
Rows("25").Hidden = Range("A25") = ""
Rows("26").Hidden = Range("A26") = ""
Rows("27").Hidden = Range("A27") = ""
Rows("28").Hidden = Range("A28") = ""
...........
End Sub
 

chaelie2015

XLDnaute Accro
Bonjour sylvanu
Merci pour la réponse ça marche bien.
si je souhaite généraliser ton code avec d'autre ligne?
Sub MasquerLignes()
Application.ScreenUpdating = False
Range("A21:A48").Select

Range("A50:A63").Select
Range("A65:A78").Select

For Each Ligne In Selection
If Ligne.Value = "" Then Ligne.EntireRow.Hidden = True
Next
[A1].Select
End Sub
 

job75

XLDnaute Barbatruc
2 solutions :

- sans VBA, appliquez le filtre automatique sur A20:A48 et décocher <vides>

- avec VBA si plusieurs plages :
VB:
Sub Masquer()
Application.ScreenUpdating = False
With [A21:A48,A50:A63,A65:A78] 'adapter la ou les plages
    .EntireRow.Hidden = False 'RAZ
    On Error Resume Next 'si aucune SpecialCell
    .SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
End With
End Sub
Et rabaché 1000 fois : en VBA les Select sont à bannir !!!
 

Discussions similaires

Réponses
5
Affichages
539

Statistiques des forums

Discussions
314 051
Messages
2 105 063
Membres
109 244
dernier inscrit
jflaloue