Selection de données et affichage

Bonjour,

je vous ai mis en piece joint un exemple pour accompagner mon explication.

J'ai un document "feuil3" ou j'ai mes données avec des entêtes de colonne (AAA, BBB, …) et et des entêtes de ligne (aa, bb, cc…)

je voudrais par une sélection préalable ne faire apparaitre que les données du croisement de la colonne (ex : BBB) et et de la ligne (ex : cc)

ou mettre en surbrillance la colonne (ex : BBB) et la ligne (ex : cc) sélectionnée

La Sélection :

par un systéme de bouton a cocher, je sélectionne ma colonne (BBB) puis ma ligne (cc) et j'obtiens sur ma feuil3 la visualisation de ma sélection

PS : tout peut être mis sur la même feuille, là je sépare pour l'explication.

Une solution dans le fichier suivant :

A adapter selon la structure réelle de ton fichier.

est-il possible de faire apparaitre que la colonne et la ligne sélectionnée ?

Ce n'est pas le cas ?

Tu veux afficher que l'intersection ?

→ non pas l'intersection, mais la ligne et la colonne selectionnée

ex : si tu selectionnes AAA et cc, seul ces lignes devront apparaitre et les autres seront masquées

→ dans ce que tu m'as presenté precedement, si ma ligne exemple cc contient plusieurs lignes dans mon tableau (fusionnée, donc cc = ligne 10 à 15) est ce que cela marche aussi ?

tibo.v1 a écrit :

→ non pas l'intersection, mais la ligne et la colonne selectionnée

ex : si tu selectionnes AAA et cc, seul ces lignes devront apparaitre et les autres seront masquées

Plutôt que de les masquer, je supprime les données.
tibo.v1 a écrit :

→ dans ce que tu m'as presenté precedement, si ma ligne exemple cc contient plusieurs lignes dans mon tableau (fusionnée, donc cc = ligne 10 à 15) est ce que cela marche aussi ?

Les cellules fusionnées sont difficiles à gérer. On se retrouve tout le temps avec des erreurs par-ci par-là.

Il faudrait que tu joignes un fichier représentatif de la structure réelle des données ! Car tu vas avoir des difficultés à adapter le code si tu ne connais pas VBA.

vba-new a écrit :
tibo.v1 a écrit :

→ non pas l'intersection, mais la ligne et la colonne selectionnée

ex : si tu selectionnes AAA et cc, seul ces lignes devront apparaitre et les autres seront masquées

Plutôt que de les masquer, je supprime les données.

Comment tu as fait ça, je ne trouve pas de macro dans le document ?

vba-new a écrit :
tibo.v1 a écrit :

→ dans ce que tu m'as presenté precedement, si ma ligne exemple cc contient plusieurs lignes dans mon tableau (fusionnée, donc cc = ligne 10 à 15) est ce que cela marche aussi ?

Les cellules fusionnées sont difficiles à gérer. On se retrouve tout le temps avec des erreurs par-ci par-là.

Il faudrait que tu joignes un fichier représentatif de la structure réelle des données ! Car tu vas avoir des difficultés à adapter le code si tu ne connais pas VBA.

je te mets une representation simplifié de mon tableau, mais le principe sera le même sur l'original

Après si cela pose problème il faudra que je revois ma structure de fichier

Ah oui d'accord, c'est assez problématique cette structure

Il faudrait effectivement que tu revois la structure si possible et éviter au maximum les cellules fusionnées. Je sais que ça fait plus esthétique mais le traitement de ce genre de cellules est source de problème.

tibo.v1 a écrit :

Comment tu as fait ça, je ne trouve pas de macro dans le document ?

C'est parce que c'est une macro évènementielle. C'est-à-dire qu'elle se lance lorsque tu agis sur une feuille (changement de cellule, changement du contenu...).

Fais un clic droit sur la feuille / Visualiser le code

Bon Ok, je savais qu'un jour j'allais rencontrer des problèmes avec ces cellules fusionnées mais bon....

si je supprime mes cellules fusionnées et que je répéte sur plusieurs ligne "cc" ton code va fonctionner, c'est à dire que si je mets sur 3 lignes à suivre "cc" et que je selectionne "cc" au préalable, il va bien me mettre en evidence mes 3 lignes ?

c'est quoi ce smileys ....tu te moques de moi ????

Attention, comme je te l'ai dit auparavant je ne masque pas les lignes non sélectionnées, je les supprime !

Donc le problème est que je ne saurai pas par la suite sur combien de lignes était "cc", ou "aa"...

tibo.v1 a écrit :

c'est quoi ce smileys ....tu te moques de moi ????

Non c'est parce que c'est encore pire que je ne le croyais ! Tes cellules fusionnées sont vraiment éparpillées et pas du tout de la même taille. Donc encore plus difficile à gérer.
vba-new a écrit :

Attention, comme je te l'ai dit auparavant je ne masque pas les lignes non sélectionnées, je les supprime !

Donc le problème est que je ne saurai pas par la suite sur combien de lignes était "cc", ou "aa"....

quand tu dis "supprimé" cela veut bien dire que je perds mes données qui sont dans les autres cases donc si apres avoir selcetionné cc je veux aa, je n'aurai que des cases vides, c'est ça ?

vba-new a écrit :
tibo.v1 a écrit :

c'est quoi ce smileys ....tu te moques de moi ????

Non c'est parce que c'est encore pire que je ne le croyais ! Tes cellules fusionnées sont vraiment éparpillées et pas du tout de la même taille. Donc encore plus difficile à gérer.

les cellules fusionnées je vais les supprimer et jouer sur de la couleur ou autre, ce n'est pas un problème.......du moins je penses

tibo.v1 a écrit :

quand tu dis "supprimé" cela veut bien dire que je perds mes données qui sont dans les autres cases donc si apres avoir selcetionné cc je veux aa, je n'aurai que des cases vides, c'est ça ?

si tu sélectionnes aa, ça va t'écrire aa. Si tu écris cc, ça efface aa et ça t'écris cc à la place.

et si tu remets aa les infos de aa vont bien revenir ?

Ah, ce ne sont pas des cellules vides au milieu ?

non dans chaque cellule il y a une information, un lien hypertexte ou autre

c'est pour cela, je n'ai pas tilté avant, mais ta suppression je l'avais pris dans le sens visuel et non pas éffectif

a priori quand tu parles de suppression c'est que les infos n'existeront plus.....même temps c'est un peu la définition de "supprimer"

Peux-tu donner la structure réelle de ton fichier ? Où se trouve les infos de la Feuil1, Feuil2, Feuil3 ? Car s'il n'y a pas de données "autour" de la Feuil3, il est possible de masquer plutôt que de supprimer. Mais pour ça il me faut maintenant la vraie représentation de tes données.

ci joint le tableau comme demandé

dit moi ce qui est faisable

merci

15test.zip (55.82 Ko)
18test-01.zip (24.79 Ko)

Une macro à mettre dans le code de la feuille :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Application.ScreenUpdating = False

    If Target.Address = "$A$10" Then    'si clic sur cellule A10 on affiche tout
        Cells.EntireColumn.Hidden = False: Cells.EntireRow.Hidden = False
        [b1:b9,d1:d9].ClearContents
        Exit Sub
    End If

    If Not Application.Intersect(Target, [a1:a9]) Is Nothing And Target.Count = 1 Then
        [b1:b9].ClearContents
        With Target.Offset(, 1)
            .FormulaR1C1 = "P"
            With .Font: .Color = vbGreen: .Name = "Wingdings 2": .Size = 12: .Bold = True: End With
            .HorizontalAlignment = xlCenter
        End With
        Cells.EntireRow.Hidden = False
        Set c = Range("a13:a" & Range("a" & Rows.Count).End(xlUp).Row).Find(Target, lookat:=xlWhole)
        If c.Row > 13 Then
                Range("13:" & c.Row - 1 & "," & c.End(xlDown).Row & ":" & 169).EntireRow.Hidden = True
        Else
            Rows(c.End(xlDown).Row & ":" & 168).Hidden = True
        End If
    End If
    If Not Application.Intersect(Target, [c1:c9]) Is Nothing And Target.Count = 1 Then
        [d1:d9].ClearContents
        With Target.Offset(, 1)
            .FormulaR1C1 = "P"
            With .Font: .Color = vbGreen: .Name = "Wingdings 2": .Size = 12: .Bold = True: End With
            .HorizontalAlignment = xlCenter
        End With
        Range("F:W").EntireColumn.Hidden = True
        Set c = Range("e10:v11").Find(Target, lookat:=xlWhole)
        c.EntireColumn.Hidden = False
    End If
End Sub

Pour réafficher toutes les lignes, clique sur la cellule A10

23test-v1.zip (55.30 Ko)

Trés bien

si je veux rajouter des colonnes ou des lignes ça marche aussi, en modifiant le code.

les céllules fusionnées ne posent pas de problème.

je dirais....Excellent

A priorie j'ai ce qu'il me faut pour commencer

Si demain j'ai trop de choix il faudra passer la sélection sur une autre feuille

se serait faisable ?

tibo.v1 a écrit :

Si demain j'ai trop de choix il faudra passer la sélection sur une autre feuille

se serait faisable ?

A priori oui...mais on ne sait jamais, faudrait voir comment se présente les données.
Rechercher des sujets similaires à "selection donnees affichage"