Masquer une ligne via macro

bonjour à toutes et à tous !

Je sollicite l'aide du forum sur les macros.

je débute sur les macros et je sèche sur celle-ci :

si la cellule b2 , c2 ,d2 et e2 de la feuille(J)sont égales à 0 alors il faut masquer la ligne entière on paut via la macro l'appliquer sur toutes les feuilles du classeur.

merci de vos conseils avisés !

Bonsoir,

envoie une feuille représentative afin de régler la macro

Amicalement

Claude

Merci Dubois,

je veux que la macro puisse fonctionner avec toutes les feuilles du classeur.

Merci beaucoup.

Désolé,pour l'oublie dans monp récedent message de la pièce jointe.

18cache-ligne.zip (19.45 Ko)

Bonjour,

je veux que la macro puisse fonctionner avec toutes les feuilles du classeur.

Pour çà il faut que toutes les feuilles soit de même structure, (commence à la même ligne et colonne)

ce qui n'est pas le cas dans ton exemple !

Vois déjà çà

Amicalement

Claude

Toutes les fueilles commencent à partir de la colonne B8

-- 22 Juin 2010, 11:52 --

Désolé,pour le dernier message.

En pièce jointe toutes les feuilles du classeur commencent à partir de B8 et supposé terminer à k100.

mais l'essentiel des lignes est de Di à Hi

8<=i<=100

-- 22 Juin 2010, 11:59 --

Bonjour,

à tors,j'ai joint la mauvais fichier.

voilà donc le bon fichier.

Cordialement.

12cache-ligne.zip (19.45 Ko)
12cache-ligne.zip (19.51 Ko)

re,

Les macros sont valables pour toutes les feuilles,

Copier les boutons sur chaque feuilles

Amicalement

Claude

Merci beaucoup mais çela ne marche pas avec les formules,je m'expique:

si la ligne de Di à Ki portent sur des formules et qui sont vides,la macro ne les reconnait pas.

Cordialement.

c'est quoi Di et Ki ?

Je traite les colonnes D:G, comme ton exemple

Merci d'être précis dans les demandes

Claude

Merci Dubois,

mais la macro ne marche pas avec le fichier en pièce jointe.

Avec le premier fichier,c'est excellant.

Qu'est-ce qui ne marche pas ?

tu as copier les macros au moins ?

dans un module

Sub FitreVides()
Dim Lg%
Application.ScreenUpdating = False
    On Error Resume Next
    ActiveSheet.ShowAllData
    On Error GoTo 0
    Lg = Range("b65536").End(xlUp).Row
    Cells(2, 15) = "=sum(d9:g9)>0"
    Range("b8:k" & Lg).AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
    Range("o1:o2"), Unique:=False
    Range("o2").ClearContents
End Sub
Sub AfficherTout()
    On Error Resume Next
    ActiveSheet.ShowAllData
    On Error GoTo 0
    Application.Goto Range("a1"), Scroll:=True
End Sub

Bonjour,

je savais pas comment je peux pas envoyer un message ça fait plus d'une heure de temps.

Merci Dubois,

J'ai essayé d'adapter la macro à mon second fichier mais ça ne marche pas

Voilà une pièce jointe:

Vous trouvez plus de détail sur le fichier.

Cordialement.

14exemple-masque.zip (28.20 Ko)

re,

ton fichier en retour

j'ai modifié la ligne 10 qui était fusionnée

Merci Dubois,

Je veux que la masque des lignes inclut la ligne 9 qui est la Main d'ouevre.

Cordialement.

tu veux, tu veux !

tu commence à jouer avec mes nerfs

on verra çà + tard maintenant

Sub FitreVides()

Dim Lg%

Application.ScreenUpdating = False

On Error Resume Next

ActiveSheet.ShowAllData

On Error GoTo 0

Lg = Range("b65536").End(xlUp).Row

Cells(2, 15) = "=sum(d9:g9)>0"

Range("b8:k" & Lg).AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _

Range("o1:o2"), Unique:=False

Range("o2").ClearContentsEnd Sub

Bonjour Dubois,

Merci de m'expliquer le language en police verte pour pouvoir exploiter la macro que vous m'avez donné hier.

je suis très reconnaissant pour votre aide.

Bonsoir,

Il s'agit d'un filtre élaboré

Cells(2, 15) = "=sum(d9:g9)>0"

est le critère qui n'affiche que les lignes dont la somme D:G est supérieure à zéro.

Claude

Merci duboi,

j'ai un pbl au niveau de la macro que j'ai adopté pour masquer les lignes vides.

aidez moi à détecter l'erreur dans la macro.

12masquer-pbl.zip (29.08 Ko)

Bonjour,

Zaza, ouvre un poste à ton nom, on y répondra,

Une macro est toujours spécifique à un fichier donné,

celle que tu essaye d'adapter n'a rien à voir avec ton cas.

Amicalement

Claude.

désolé pour le retard Dubois

Merci beaucoup pour l'aide précieuse.

Sub FitreVides()

Dim Lg%

Application.ScreenUpdating = False

On Error Resume Next

ActiveSheet.ShowAllData

On Error GoTo 0

Lg = Range("b65536").End(xlUp).Row

Cells(2, 15) = "=sum(d9:g9)>0" Range("b8:k" & Lg).AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _

Range("o1:o2"), Unique:=False

Range("o2").ClearContents

End Sub

ma demande est la suivante:

Je souhaite limiter la plage à (b8:b50).

Bonsoir,

Envoie ton dernier fichier, pour mettre la macro en accord.

Amicalement

Claude

Rechercher des sujets similaires à "masquer ligne via macro"