Masquer colonnes en fonction d'un filtre

Bonjour à tous,

Voici mon problème.

J'ai un tableau excel regroupant des données provenant de plusieurs sources.

Le tableau complet reprend toutes les colonnes de chaque sources de données.

Ma question : lorsque je filtre sur une certaine source, est-il possible de masquer les colonnes pour lesquelles aucune valeurs n'est renseignées ?

Vous trouverez en pièce jointe mon fichier anonymisé. Un exemple sur ce fichier : lorsque je filtre pour voir apparaître que la source "B", je voudrais masquer toutes les colonnes sauf la D qui est renseignée.

En espérant avoir été claire

Merci à vous !

@++

Cécile

159exemple.zip (4.48 Ko)

Bonsoir à tous,

Filtre élaboré dans le VBE de la feuille

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Lg%, i%
'Macro par Claude Dubois pour "Cécile42" Excel-Pratique le 21/03/11
    If Not Application.Intersect(Target, Range("b4")) Is Nothing Then
        Application.ScreenUpdating = False
        On Error Resume Next
            ActiveSheet.ShowAllData
        On Error GoTo 0
        Columns("a:aL").Hidden = False
        If Target.Count > 1 Or Target = "" Then Exit Sub
        Lg = Cells.Find("*", , , , xlByRows, xlPrevious).Row
        Range("a4") = "=e7<>"""""
        Range("b6:ak" & Lg).AdvancedFilter Action:=xlFilterInPlace, _
        CriteriaRange:=Range("a3:b4"), Unique:=False

        Lg = Range("b6").End(xlDown).Row
            For i = 3 To 37
                If Application.Subtotal(3, Range(Cells(7, i), Cells(Lg, i))) = 0 Then
                    Columns(i).Hidden = True
                End If
            Next i
        Application.Goto Range("a1"), Scroll:=True
        Range("a4").ClearContents
        Range("b4").Activate
    End If
End Sub

Amicalement

Claude

333cecile42-filtre.zip (16.55 Ko)

Bonjour Claude,

Ta solution est parfaite !

Je te remercie beaucoup.

@++

Bonjour à tous,

Je reviens vers vous afin d'améliorer un peu cette solution.

Le but est de décliner les sources en colonnes. Une même ligne peut appartenir à plusieurs sources. Un "1" est renseigné pour indiquer la(les) source(s).

En gardant le même principe de liste déroulante, et en masquant toujours les colonnes non renseignées, est-il possible de filtrer sur ces sources ?

Donc, toujours le même principe, par exemple : lorsque je choisis la source "S2" dans la liste déroulante, je veux voir apparaître les deux lignes correspondantes avec uniquement la colonne "I" qui s'affiche.

D'avance merci pour le temps passé sur mon problème.

A bientôt.

Cécile

91cecile42-filtre.zip (15.80 Ko)

Bonjour,

La liste de validation ne peut concerner qu'une seule colonne

Claude

Bonjour Claude,

Ok, cela serait-il possible en utilisant une liste déroulante de la boîte à outils "Formulaires" ??

Ou alors un système de cases à cocher peut être...??

Merci.

re,

J'ai l'impression que tu ne sais pas trop où tu va !

Envoie un fichier reflétant la réalité

et tes besoins réels

Amicalement

Claude

Effectivement, en me relisant c'est pas très clair !

En fait le but de mon travail est de regrouper en un seul fichier plusieurs sources différentes.

Ensuite, chaque personne doit pouvoir aller faire des mises à jours.

Donc, la première solution a consisté à créer une colonne source pour que chacun retrouve son fichier seul en appliquant un filtre. Et ta solution correspond tout à fait à cette demande.

Maintenant, je me suis rendu compte qu'une même ligne peut appartenir à plusieurs sources différentes. Donc la première solution ne marche plus.

Mais le but est toujours le même ==> en un clic, pouvoir accéder à la source voulue (en masquant les colonnes inutiles).

Une liste déroulant pourrait donc fonctionner je suppose...

Après pourquoi pas des cases a cocher (comme en pièce jointe).

Plus clair ?? Pas plus clair ?? Encore moins clair ??

Voilà en pièce jointe ce que je souhaiterais !

Avec possibilité de choisir plusieurs sources à la fois...

Bonsoir,

Non pas bon !

Choix source sur une colonne, comme précédemment

ne complique pas inutilement !

Maintenant, on peut filtrer avec 2 critères

ton fichier n'est pas suffisamment représentatif

Amicalement

Claude

Malheureusement, ce n'est pas moi qui choisit la façon de présenter ce tableau...mais je suis d'accord avec toi, cela complique les choses pour pas forcement grand chose.

Maintenant je me disais que affecter un code distinct par case à cocher pourrait être une solution...du coup le filtre s'applique bien sur une colonne non ?

En tout cas merci de ton aide.

Et si ce n'est pas possible comme ça et ben je leur dirais que techniquement c'est impossible !

@++

Rechercher des sujets similaires à "masquer colonnes fonction filtre"