XL 2016 Afficher entête des lignes suite à un filtrage

Stéfane

XLDnaute Occasionnel
Bonjour le forum,

J'ai un tableau qui me permet de filtrer les cases ayant une valeur de 0,00%
J'ai une macro me permettant de supprimer les entête des lignes (Toutes les entêtes des cases des valeurs = 0,00%), car le tableau en comporte beaucoup et cela m'obligerais à les masquer une par une, donc pas pratique.....
Cependant je souhaite pouvoir réafficher celles des articles dont la valeur est différente de 0,00%.
J'essais en mettant des "0" dans une case annexe pour trouver une solution mais en vain pour le moment.
Je joints un tableau en exemple avec les macros dont je parle.

Merci pour votre aide.
 

Pièces jointes

  • Test Tableau.xlsm
    22.3 KB · Affichages: 8

TooFatBoy

XLDnaute Barbatruc
Bonjour,

Pourquoi utiliser une boucle pour masquer les lignes alors que le filtrage Excel peut le faire ?

Si tu tiens absolument à faire une boucle de masquage (certainement beaucoup plus lente que le filtrage par Excel), tu peux tester, à chaque passage dans la boucle, le contenu de la cellule de la colonne i : si c'est vide ou une espace, tu ne masques pas.

Sinon, tu fais comme l'a dit djidji59430 : tu mets quelque chose (par exemple "-" ou "~"), dans les cellules de la colonne i, sur les lignes que tu veux tout le temps afficher.
Tu peux masquer en suite masquer de que tu as mis (par exemple "-" ou "~").
Et tu peux alors utiliser le filtrage Excel qui ne masquera pas ces lignes.
 

Stéfane

XLDnaute Occasionnel
Bonsoir à tous,

Merci à tous pour ces différentes solutions.

Je procède de cette façon car cela me permet de replier mon tableau et ainsi lorsque je rentre mes données, seule celles-ci ressortent.
Cela me permet comme dit au début de pouvoir cacher les entêtes dans lesquels le % = 0
après essai de celle de Sylvanu dans mon tableau original j'ai une erreur 1004 "la méthode autofilter de la classe range a échouée".
Il n'y a que lorsque je met cette macro que cela fonctionne.
'Rows("25:25").Select
'Selection.AutoFilter
'Range("r29").AutoFilter Field:=18, Criteria1:="<>0.00%"

De plus j'avais bien essayer de mettre une lettre devant les cases concernées me cela : soit masque tout ou à l'inverse démasque tous.
Merci encore, je continu de tester vos méthodes. Si jamais d'autres solutions vous venez je suis preneur.

Je reste également sur mon idée de départ qui est de trouver le moyen de sélectionner les lettres en face des entêtes de façon à avoir un repère dans mon tableau et afficher les entêtes concernées.
 

TooFatBoy

XLDnaute Barbatruc
Je procède de cette façon car cela me permet de replier mon tableau et ainsi lorsque je rentre mes données, seule celles-ci ressortent.
Cela me permet comme dit au début de pouvoir cacher les entêtes dans lesquels le % = 0
Comme dit plus haut, un filtrage par Excel te permet de faire la même chose normalement (et probablement beaucoup plus vite). ;)

De plus j'avais bien essayer de mettre une lettre devant les cases concernées me cela : soit masque tout ou à l'inverse démasque tous.
Ce n'est pas "devant les cases concernées" qu'il faut éventuellement mettre une lettre, mais dans les cellules de la colonne filtrée, si tu utilises le filtrage par Excel. ;)
 

Stéfane

XLDnaute Occasionnel
Autant pour moi Sylvanu, je n'avait pas mis Selection.AutoFilter avec votre macro.
Du coup elle fonctionne bien mais ne masque pas les entêtes, ce qui est mon but pour ne pas avoir a les effacer ligne par ligne car cela en fait beaucoup.
C'est pour cela que je souhaite pouvoir réafficher celles qui ont des %>0 dans un second temps.
Merci encore.
 

Stéfane

XLDnaute Occasionnel
Comme dit plus haut, un filtrage par Excel te permet de faire la même chose normalement (et probablement beaucoup plus vite). ;)


Ce n'est pas "devant les cases concernées" qu'il faut éventuellement mettre une lettre, mais dans les cellules de la colonne filtrée, si tu utilises le filtrage par Excel. ;)
Tout a fait d'accord sauf que les entêtes n'apparaissent pas dans les filtres. D'où ma recherche.
 

TooFatBoy

XLDnaute Barbatruc
Je reste également sur mon idée de départ qui est de trouver le moyen de sélectionner les lettres en face des entêtes de façon à avoir un repère dans mon tableau et afficher les entêtes concernées.
Moi je reste sur mon idée de départ de mettre un caractère, dans les cellules de la colonne filtrée, comme ça après tu fais ce que tu veux pour le filtrage (montrer ou ne pas montrer ces lignes) en utilisant les critères de filtrage. ;)

C'est ce qui me paraît le plus simple, mais je peux me tromper. D'autant que je ne sais pas comment est rempli le tableau et donc je ne sais pas s'il est facile de mettre un caractère dans ces cellules.
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

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