Posez votre question Signaler

[Excel] Masquer cellules sous condition

Sekmeth - Dernière réponse le 26 oct. 2010 à 22:07
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
Lire la suite 
Réponse
+0
moins plus
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
Ajouter un commentaire
Annonces
 
moins plus
Ce document intitulé «  [Excel] Masquer cellules sous condition  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.