Aide: macro pour cacher des lignes avec valeur "0"

jbdubreuil

XLDnaute Occasionnel
Bonjour à tous,

Je reviens avec plaisir sur ce forum avec une nouvelle petite question.
J'ai un tableau que je dois updaté tous les mois.
J'aimerais cacher les lignes dont les valeurs sont egales à "0" sur les colonnes "C:F"

J'ai regardé un peu les posts precedents et j'ai trouvé un code qui supprime les lignes avec des valeurs "0".
Comment faire pour cacher plutot que supprimer les lignes?

Merci par avance, :)

JB
====================================================================


Sub cmdSupprimer_Click()
Dim Lig As Long
Dim derLig As Long
Dim plage As Range

' Dernière ligne dans la feuille
derLig = Range("A1").SpecialCells(xlCellTypeLastCell).Row

' Boucle de la dernière ligne à la ligne 2
For Lig = derLig To 2 Step -1
Set plage = Range("C" & Lig & ":F" & Lig)

' Compter le nombre de cellules ayant un 0
If Application.WorksheetFunction.CountIf(plage, 0) = plage.Columns.Count Then
Rows(Lig & ":" & Lig).Delete Shift:=xlUp
End If
Next Lig
End Sub
 

WDAndCo

XLDnaute Impliqué
Re : Aide: macro pour cacher des lignes avec valeur "0"

Bonjour le Forum

Rows("5:33").Select
Selection.EntireRow.Hidden = True

Si cela peut vous aider ce code "Masque" les lignes de 5 à 33, à vous de l'adapter à vos besoins !
 

jbdubreuil

XLDnaute Occasionnel
Re : Aide: macro pour cacher des lignes avec valeur "0"

Bonjour JM,

Merci pour ton message.
J'ai essayé avec le filtre avancé mais je n'arrive pas finalement à filtrer correctement.
Du coup le code VBA n'est pas correct...
Je vais continuer, et si tu as le code avant moi, merci de me le communiquer :)

Cordialement
jb
 

Staple1600

XLDnaute Barbatruc
Re : Aide: macro pour cacher des lignes avec valeur "0"

Re



Essayes ce code:
(issu de l'enegistreur de macro)
Code:
Sub Macro2()
'
' Macro2 Macro
' Macro enregistrée le 20/04/2008 par

    Range("C1:F1").Select
    Selection.AutoFilter
    Selection.AutoFilter Field:=1, Criteria1:="<>0", Operator:=xlAnd
    Selection.AutoFilter Field:=4, Criteria1:="<>0", Operator:=xlAnd
End Sub
EDITION: Code remanié:
Code:
Sub filtrage()
[COLOR=Green]'ici adapter avec le nom correct de la feuille[/COLOR]
With Worksheets("Feuil1")
'désactive le filtre au cas ou
    .AutoFilterMode = False
[COLOR=Green]'applique le filtre en C1 F1[/COLOR]
        With .Range("C1:F1")
            .AutoFilter
[COLOR=Green]'critère pour C1[/COLOR]
            .AutoFilter Field:=1, Criteria1:="<>0"
[COLOR=Green]'critère pour F1[/COLOR]
            .AutoFilter Field:=4, Criteria1:="<>0"
        End With
    End With
End Sub
 
Dernière édition:

jbdubreuil

XLDnaute Occasionnel
Re : Aide: macro pour cacher des lignes avec valeur "0"

JM, WDandCO

Merci pour vos contributions. J'ai reussi grace à vous à adapter le code.
Et ce n'etait pas tres compliqué finalement :)
Bonne fin de week end,

Amicalement
JB


Sub cmdSupprimer_Click2()
Dim Lig As Long
Dim derLig As Long
Dim plage As Range

' Dernière ligne dans la feuille
derLig = Range("A1").SpecialCells(xlCellTypeLastCell).Row

' Boucle de la dernière ligne à la ligne 2
For Lig = derLig To 2 Step -1
Set plage = Range("c" & Lig & ":f" & Lig)

' Compter le nombre de cellules ayant un 0
If Application.WorksheetFunction.CountIf(plage, 0) = plage.Columns.Count Then
Rows(Lig & ":" & Lig).Select
Selection.EntireRow.Hidden = True
End If
Next Lig
End Sub
 

Discussions similaires

Réponses
12
Affichages
289
Réponses
7
Affichages
384
Réponses
2
Affichages
206

Statistiques des forums

Discussions
312 858
Messages
2 092 871
Membres
105 545
dernier inscrit
pourmanger