Macro pour masquer/afficher ligne si valeur 0 dans colonne C

Bonjour, je souhaiterai faire l'analyse sur plusieurs colonne différente, j'ai réussi à le faire sur une colonne mais je ne comprend pas comment le faire sur plusieurs à la foi; merci de m'aider.

Sub Masque_lig() ' masque les lignes ou la valeur dans les cellules de la colonne C sont =0

Range("G11:G50").Select

For Each cellule In Selection

If cellule.Value = "0" Then cellule.EntireRow.Hidden = True

Next cellule

End Sub

Sub Affiche_lig()

Range("G11:G50:H11:H50").Select

Selection.EntireRow.Hidden = False

End Sub

J'ai utiliser cette base pour éliminer les éléments vide dans ma colonne

Bonsoir

Essaie comme ceci :

Sub Masque_lig() ' masque les lignes ou la valeur dans les cellules de la colonne C sont =0
Dim cel As Range
For Each cel In Range("G11:H50")
If cel.Value = 0 Then cel.EntireRow.Hidden = True
Next cellule
End Sub

Sub Affiche_lig()
Range("G11:H50").EntireRow.Hidden = False
End Sub

Si ok, clique sur le V vert à coté du bouton EDITER pour cloturer le fil lors de ta réponse

Amicalement

Dan

Bonjour,

J'ai essayé ton code sur mon fichier mais ça me note "Référence de variable de contrôle incorrecte dans next.

Bonjour toutes et tous

Next cel

@ tester

crdlt,

André

Bonjour toutes et tous

Next cel

@ tester

crdlt,

André

Super ça fonctionne bien, merci Andre13

bonne soirée

Re Andre13,

Est-ce qu'il y aurait une possibilité que la macro s'exécute automatiquement, si oui de quelle manière ?

Merci encore

Bonjour toutes et tous

@ tester

à placer dans la feuille 1 (Paye)

'Sub Masque_lig() 'masque les lignes ou la valeur dans les cellules de la colonne C sont =0
'Dim cel As Range
'For Each cel In Range("C20:C28")
'If cel.Value = 0 Then cel.EntireRow.Hidden = True
'Next cel
'End Sub

'Sub Affiche_lig()
'Range("C20:C28").EntireRow.Hidden = False
'End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
''''Sub Masque_lig() 'masque les lignes ou la valeur dans les cellules de la colonne C sont =0

' Déclaration de la variable cel
Dim cel As Range

' en cas d erreur
On Error GoTo plouf
For Each cel In Range("C20:C28")
If cel.Value = 0 Then cel.EntireRow.Hidden = True
Next cel
Else                                       ' à tester
Range("C20:C28").EntireRow.Hidden = False  ' a tester
End If                                     ' à tester
plouf: Exit Sub
End Sub

Re Andre13,

ça m'affiche une fenêtre signifiant "Else sans If"

c'est curieux car j'ai copier ton code en entier et coller dans mon fichier sans rien oublier?.

Bonjour toutes et tous

@ re-tester

Private Sub Worksheet_Change(ByVal Target As Range)
''''Sub Masque_lig() 'masque les lignes ou la valeur dans les cellules de la colonne C sont =0
' Déclaration de la variable cel
Dim cel As Range
' en cas d erreur
On Error GoTo plouf
For Each cel In Range("C20:C28")
If cel.Value = 0 Then cel.EntireRow.Hidden = True

If cel.EntireRow.Hidden = False Then
        cel.EntireRow.Hidden = False
End If
Next cel
plouf: Exit Sub
End Sub

Désolé de ce retard Andre13 mais c'est bon ça fonction merci beaucoup

Rechercher des sujets similaires à "macro masquer afficher ligne valeur colonne"