[Excel] Masquer cellules sous condition
Sekmeth
-
eriiic Messages postés 25847 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 25847 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
A voir également:
- Excel masquer cellule sous condition
- Excel cellule couleur si condition texte - Guide
- Liste déroulante excel - Guide
- Proteger cellule excel - Guide
- Word et excel gratuit - Guide
- Aller à la ligne dans une cellule excel - Guide
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 :
Une qui supprime la cellule (avec décalage à gauche des suivantes) si #REF! est rencontré sur une sélection :
eric
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