Masquer ligne si valeur cellule nulle

Maskrow

XLDnaute Nouveau
Bonjour à tous,

J'ai un problème sur un fichier, j'ai parcouru de nombreux forums qui ont déja répondu à cette question mais aucune des solutions que j'ai pu trouver n'a fonctionné pour moi.

C'est un fichier excel 2003 (bon de livraison) avec plusieurs colonnes. Dans la colonne F (quantité expédiée), je voudrais que la ligne de produit concernée soit masquée si la quantité est égale à 0 ou la case vide. Je voudrais donc qu'a chaque ligne la macro s'éxécute, et qu'elle passe de ligne en ligne si elles contiennent une valeur différente de 0. Il y a 200 lignes sur mon fichier.
J'aimerai également la macro inverse, qui refasse apparaitre toutes les lignes après coup.

Voila j'espere que vous pourrez m'aider, je joins un morceau de mon fichier à mon mail.

Merci d'avance
 

Pièces jointes

  • MODELE FORUM.xls
    16 KB · Affichages: 217

Papou-net

XLDnaute Barbatruc
Re : Masquer ligne si valeur cellule nulle

Bonsoir Maskrow, R@chid,

C'est vrai qu'un filtre ferait tout aussi bien l'affaire, comme le conseille l'ami R@chid.

Mais une macro, c'est bien aussi, Maskrow. Alors pour cadrer à ta demande, voici ton fichier complété.


Cordialement.
 

Pièces jointes

  • Copie de MODELE FORUM.xls
    34.5 KB · Affichages: 727
Dernière édition:

Maskrow

XLDnaute Nouveau
Re : Masquer ligne si valeur cellule nulle

Bonjour et merci à tous!

En effet je n'avais pas réussi à adapter les solutions que j'avais trouvé précédemment. Et je souhaitais une macro pour simplifier l'utilisation.

Merci à tous pour votre aide, cela fonctionne parfaitement.
 

Papou-net

XLDnaute Barbatruc
Re : Masquer ligne si valeur cellule nulle

Bonjour Maskrow, R@chid, JP,

Juste pour faire suer le Requin, on peut faire beaucoup plus court avec un ToggleButton :

Code:
Option Explicit

Dim CelR As Range

Private Sub ToggleButton1_Change()
    Application.ScreenUpdating = False
    With ActiveSheet
           For Each CelR In .Range("A10:A65536").SpecialCells(xlCellTypeConstants)
                 If CelR.Offset(0, 5).Value = 0 Or CelR.Value = "" Then CelR.EntireRow.Hidden = True Eqv ToggleButton1.Value
           Next CelR
    End With
    ToggleButton1.Caption = IIf(ToggleButton1, "Afficher lignes vides", "Masquer lignes vides")
    Application.ScreenUpdating = True
End Sub
Et pis c'est tout !

NB : A quoi sert la procédure Worksheet_Activate() ? Pas utile à mon avis.

Bonne journée à tous.

Cordialement.

PS : merci JP pour l'instruction Eqv que je ne connaissais pas jusqu'à présent. Il me tarde de l'utiliser pour raccourcir mes futures lignes de code.
 

Staple1600

XLDnaute Barbatruc
Re : Masquer ligne si valeur cellule nulle

Bonjour à tous

Je suis d'accord avec Rachid, un simple filtre automatique peut suffire ;)
Mais si l'addiction a VBA est la plus forte alors
VB:
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 10/08/2012 par Staple1600
'
Range("A10:F19").AutoFilter Field:=6, Criteria1:=">0", Operator:=xlAnd
End Sub
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 206
Messages
2 086 219
Membres
103 158
dernier inscrit
laufin