Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
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 !
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 !
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
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
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?
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
- 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