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

Stéfane

XLDnaute Occasionnel
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.
Dans l'absolu tu as tout as fait raison, mais lorsque je met cela en œuvre dans mon tableau cela masque ou démasque tout. Mais je vais également voir si je peux adapter.
Merci.
 

Stéfane

XLDnaute Occasionnel
Est-ce que ce n'est pas justement ce que tu demandais ? 🤔

En tout cas, c'est ce que j'avais compris, et je suis donc à côté de la plaque depuis le début. Désolé. :(
Pas de problème, je peux comprendre que ce ne soit pas très clair. Je souhaite en fait dans un premier temps masquer toutes mes entêtes (car cela représente beaucoup de lignes à masquer si je ne le fais pas) pour pouvoir démasquer celles qui m'intéresse, celles dont le %>0, donc ma macro me permet de "replier" mon tableau, mais je cherche une solution pour réafficher les entêtes qui m'intéresse.
 

TooFatBoy

XLDnaute Barbatruc
lorsque je met cela en œuvre dans mon tableau cela masque ou démasque tout.
C'est parce que tu n'utilises pas les bons critères de filtrage.

Au pire tu lances l'enregistreur de macro, tu effectues ton filtrage, tu arrêtes l'enregistreur de macro et tu vas regarder le résultat.
Le code sera peut-être lourd et redondant, mais tu auras un exemple des critères à utiliser. ;)
 

TooFatBoy

XLDnaute Barbatruc
Je souhaite en fait dans un premier temps masquer toutes mes entêtes (car cela représente beaucoup de lignes à masquer si je ne le fais pas) pour pouvoir démasquer celles qui m'intéresse, celles dont le %>0, donc ma macro me permet de "replier" mon tableau, mais je cherche une solution pour réafficher les entêtes qui m'intéresse.
Je ne comprends pas l'histoire de masquer puis démasquer des lignes d'en-tête.
Pardon, mais je ne comprends pas toujours très vite... :(

Ce n'est pas clair car il me semble que tu as un en-tête pour plusieurs lignes situées en-dessous.
Me trompé-je ?

Tu peux peut-être poster une capture d'écran (ou un fichier), avec d'une part le tableau sans aucun filtrage, et d'autre part le résultat attendu.
 

Stéfane

XLDnaute Occasionnel
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.
Je t'ai mis un exemple qui montre la limite du filtrage par "lettre". la valeur des dernières lignes = 0,00% et lorsque tu filtre pour afficher les entêtes, tu affiche toutes les entêtes. Même celles qui n'ont pas de valeurs en face. Et si tu as un tableau avec 600 entêtes et que 2 lignes de % sont >0 cela fait beaucoup de lignes à effacer à la main.
 

Pièces jointes

  • Test Tableau.xlsm
    22.2 KB · Affichages: 3

TooFatBoy

XLDnaute Barbatruc
J'ai regardé ton fichier et c'est bien ça. Tu as raison, ça démasque toutes les lignes d'en-tête, et ce n'est pas bon.

Dans ce cas, tu peux peut-être mette, non pas un caractère, mais une formule.
Par exemple, pour chaque ligne d'en-tête, tu mets une formule dans la colonne i, qui compte le nombre de 0 sur les lignes qui concernent cet en-tête.

Je n'ai pas essayé. C'est juste une éventuelle piste de recherche.

Sur ton dernier fichier, ton filtrage doit laisser apparaître quelles lignes de données et quelles ligne d'en-tête ?
 
Dernière édition:

TooFatBoy

XLDnaute Barbatruc
Une possibilité, mais peut-être trop lourde à mettre en place si tes données changent souvent... :(

J'ai mis une MFC juste pour prévisualiser en rouge les lignes qui seront masquées.
 

Pièces jointes

  • Test Tableau.xlsm
    24.5 KB · Affichages: 2
Dernière édition:

Stéfane

XLDnaute Occasionnel
Une possibilité, mais peut-être trop lourde à mettre en place si tes données changent souvent... :(

J'ai mis une MFC juste pour prévisualiser en rouge les lignes qui seront masquées.
oui effectivement mes données change régulièrement. Merci pour cette solution, j'y avait effectivement pensé, oui d'une part la mise en œuvre peut prendre du temps, comme il faut la modifier a chaque "paragraphe de lignes", mais bon ce n'est pas mon principale critère.
Par contre après essais le problème qui se pose c'est que mon tableau fonctionne dans l'autre sens, c.a.d. que je masque toutes les entêtes et souhaite démasquée celle dont le %>0. A voir donc si je trouve une solution avec cette formule pour faire différemment.

Merci pour ton aide.
 

Stéfane

XLDnaute Occasionnel
Tu veux dire que tu fonctionnes tout le temps dans le sens inverse ou parfois dans un sens et parfois dans l'autre ?
Tu veux dire que tu fonctionnes tout le temps dans le sens inverse ou parfois dans un sens et parfois dans l'autre ?
Non toujours dans un seul sens :
C'est vrai que je n'en ai pas parlé mais dans le "This Workbook" j'appel la macro dès que je me met sur ma feuille.
Toute les lignes et les entêtes se masquent, comme cela seul les lignes ou le % sont >0 se démasquent.
Mais les 2 entêtes de ces lignes restent masquées.
C'est pourquoi j'ai eu cette idée de mettre des "0" ou autre dans une colonne voisine, devant le lignes des entêtes, et là je cherche le moyen (perso je pense plutôt à une macro) de dire en gros :
Cibler les pourcentages visibles dans la colonne, remonter cette colonne jusqu'au 0 et afficher les lignes.

Voilà le principe, j'espère être clair dans mon explication.
 

Stéfane

XLDnaute Occasionnel
Ok je pensais que cela pouvait influencer les choses.
Non, j'essais depuis tout à l'heure la formule =SI mais sans succès.
Oui peut-être pourront ils m'apporter une solution version macro 🤞
Merci pour ton aide.
 

Pièces jointes

  • 1644699312517.gif
    1644699312517.gif
    42 bytes · Affichages: 17

TooFatBoy

XLDnaute Barbatruc
Il me semble qu'il y a, quand on affiche un onglet, une macro qui masque toutes les lignes d'en-tête de "sous-tableau". (ne me demande pas pourquoi... je n'en sais rien du tout 😁)

En suite, doivent s'afficher toutes les lignes dont le pourcentage n'est pas nul, et aussi les en-têtes correspondants, et uniquement ceux correspondant.
Autrement dit, les en-têtes des "sous-tableaux" dont tous les pourcentages sont nuls doivent rester masqués.

Du moins c'est ce que j'ai compris et essayé de faire dans mon dernier fichier.


Pourriez vous fournir une image de ce que vous attendez ?
#19 😉
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 915
Membres
101 837
dernier inscrit
Ugo