masquer ligne dont cellule B = 0

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

eastwick

XLDnaute Accro
Bonjour à toutes et tous,
Plutôt que filtrer, j'aimerais un code qui masque les lignes d'un tableau A1:B70 quand les cellules B(n° de ligne) sont égales à 0 et qu'elles apparaissent quand elle ne sont plus égales à 0 !

Merci beaucoup.
 
Re : masquer ligne dont cellule B = 0

Bonjour,
Code:
Sub Lignes_masquer_si_nul()
Dim c As Range
Application.ScreenUpdating = False
Cells.EntireRow.Hidden = False
For Each c In Range("a1:a70")
    If c.Offset(, 1) = 0 Then c.EntireRow.Hidden = True
Next
Application.ScreenUpdating = True
End Sub

pas rafraîchis ni placé de pièce jointe pour essais ....
Réédité après relecture complète de ce post, et donc modifié la pièce jointe en fonction de ma compréhension.
@ vous lire
 

Pièces jointes

Dernière édition:
Re : masquer ligne dont cellule B = 0

Bonjour eastwick, Papou-net, st007



une proposition.


Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Dim cel As Range
For Each cel In Range("b1:b70")
If cel.Value = "0" Then cel.EntireRow.Hidden = True
Next cel
Application.EnableEvents = True
End Sub

'DANS UN MODULE STANDARD

Sub affiche()
Dim cel As Range
Application.ScreenUpdating = False
With Sheets("Feuil1")
For Each cel In .Range("b1:b70")
If cel.EntireRow.Hidden = True Then cel.EntireRow.Hidden = False
Next cel
End With
End Sub



A+ 😎
 
Dernière édition:
Re : masquer ligne dont cellule B = 0

Bonjour Papou-net,
J'ai copié ton code, les lignes à 0 restent visibles. Normal ???

RE:

Bien que le problème semble réglé, je viens répondre à ta question: non, ce n'est pas normal. As-tu testé mon code? Chez moi il fonctionne parfaitement. Es-tu certain d'avoir bien retranscrit le code sur ton fichier?

Cordialement.


PS: bonjour st007, Lone-wolf.
 
Re : masquer ligne dont cellule B = 0

Bonsoir eastwick, Papou-net, st007, Lone-wolf,

Plutôt que filtrer, j'aimerais un code qui masque les lignes (...)

Pourquoi pas les deux ? Avec le filtre avancé :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
With [A1].CurrentRegion '1ère cellule à adapter
  If Intersect(Target, .Columns(2)) Is Nothing Then Exit Sub
  .Cells(2, .Columns.Count + 1) = "=RC[-" & .Columns.Count - 1 & "]<>0"
  .AdvancedFilter xlFilterInPlace, .Cells(1, .Columns.Count + 1).Resize(2)
  .Cells(2, .Columns.Count + 1) = ""
End With
End Sub

Sub Afficher()
On Error Resume Next
Me.ShowAllData
End Sub
Fichier joint.

Bonne soirée.
 

Pièces jointes

Re : masquer ligne dont cellule B = 0

Re,

J'ai testé avec des tableaux dont une cellule sur 2 en colonne B est vide, toujours avec les 4 colonnes.

Sur Win 8 - Excel 2013 durée d'exécution de la macro du post #9 :

- 10 000 lignes => 0,09 seconde

- 100 000 lignes => 0,52 seconde.

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
452
Retour