[Excel] Masquer cellules sous condition
Sekmeth
-
eriiic Messages postés 24581 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24581 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai un petit soucis avec un gros fichier Excel.
J'ai un tableau contenant tous les jours de l'année répartis par semaine (semaine 1 , 2 , 3...) Comme il y a énormément de données enregistrées pour chaque jour j'ai fais un tableau croisé dynamique.
De ce tableau dynamique j'extrais les informations qui m'intéressent dans un tableau par une formule simple de renvoi type A1 = B2 desquelles je tire des statistiques.
Le problème que je souhaite filtrer les informations dans le tableau croisé par exemple par jour: je veux que les informations pour tous les lundis de l'année.
Du coup mon tableau qui contient la formule de renvoi basique se remplit de #REF! pour toutes les cellules renvoyant un jour qui a disparu à cause du filtre.
Ma question est donc, y a-t-il un moyen de rendre dynamique mon tableau en faisant totalement disparaitre les cellules qui affichent #REF!. L'idée étant que si A1 contient une valeur normale, B1 contient #REF! et C1 un valeur normale, je veux voir que A1 et C1 côte a côte sans une cellule vide ou une erreur entre les 2.
Au cas où je me sois mal exprimé, en fait ce que qu'il me faudrait c'est une fonction "filtre" qui marche par ligne et non par colonne comme la fonction déjà installée sur Excel.
Je ne pousserai pas le vice de ma question en ne demandant de ne filtrer qu'une zone et non pas toute la colonne XD
Je me doute que ca doit pas être évident...
Merci d'avance déjà d'avoir lu ce post à rallonge et pour votre aide
J'ai un petit soucis avec un gros fichier Excel.
J'ai un tableau contenant tous les jours de l'année répartis par semaine (semaine 1 , 2 , 3...) Comme il y a énormément de données enregistrées pour chaque jour j'ai fais un tableau croisé dynamique.
De ce tableau dynamique j'extrais les informations qui m'intéressent dans un tableau par une formule simple de renvoi type A1 = B2 desquelles je tire des statistiques.
Le problème que je souhaite filtrer les informations dans le tableau croisé par exemple par jour: je veux que les informations pour tous les lundis de l'année.
Du coup mon tableau qui contient la formule de renvoi basique se remplit de #REF! pour toutes les cellules renvoyant un jour qui a disparu à cause du filtre.
Ma question est donc, y a-t-il un moyen de rendre dynamique mon tableau en faisant totalement disparaitre les cellules qui affichent #REF!. L'idée étant que si A1 contient une valeur normale, B1 contient #REF! et C1 un valeur normale, je veux voir que A1 et C1 côte a côte sans une cellule vide ou une erreur entre les 2.
Au cas où je me sois mal exprimé, en fait ce que qu'il me faudrait c'est une fonction "filtre" qui marche par ligne et non par colonne comme la fonction déjà installée sur Excel.
Je ne pousserai pas le vice de ma question en ne demandant de ne filtrer qu'une zone et non pas toute la colonne XD
Je me doute que ca doit pas être évident...
Merci d'avance déjà d'avoir lu ce post à rallonge et pour votre aide
1 réponse
-
Bonsoir,
Sans un fichier exemple difficile de savoir ce qui s'adapetra le mieux à ton besoin...
Utiliser cijoint.fr et coller ici le lien fourni
2 petites macros :
Une qui masque la colonne si #REF! est rencontré sur une sélection :Sub masqueREF() Dim c As Range For Each c In Selection If CLng(CVErr(c.Value)) = xlErrRef Then c.EntireColumn.Hidden = True End If Next c End Sub
Une qui supprime la cellule (avec décalage à gauche des suivantes) si #REF! est rencontré sur une sélection :Sub suppREF() Dim c As Range For Each c In Selection If CLng(CVErr(c.Value)) = xlErrRef Then c.Delete Shift:=xlToLeft End If Next c End Sub
eric