Filtrer des données à partir d'un sommaire Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Répondre
a
alorsloulou
Jeune membre
Jeune membre
Messages : 33
Inscrit le : 3 mai 2018
Version d'Excel : 2016

Message par alorsloulou » 3 mai 2018, 15:10

Bonjour,
Je découvre l'utilisation d'Excel notamment avec les macros et le VBA. J'ai déjà récupéré sur le forum beaucoup d'information qui m'ont permis d'avancer sur mon sujet. Un des sujets posté répondait parfaitement à mes attentes mais le dossier joint a été retiré et je n'arrive pas à adapter la solution à mon dossier.

Donc, je souhaiterais, si c'est possible, qu'à partir du sommaire, lorsque l'on clique sur une unité de travail, un tri automatique soit fait et qu'apparaisse la BDD de l'unité de travail séléctionnée uniquement (mise en page identique avec la ligne 9 - (X)). Le plus serait que dans la cellule au dessus du tableau apparaisse le nom de l'unité de travail. Je vous joint le dossier en question.

Merci et à bientôt.
Base 2 SIVU.xlsm
(63.39 Kio) Téléchargé 18 fois
Avatar du membre
i20100
Passionné d'Excel
Passionné d'Excel
Messages : 6'030
Appréciations reçues : 351
Inscrit le : 16 mars 2017
Version d'Excel : 2010

Message par i20100 » 4 mai 2018, 01:51

Bonjour,

il faut affecter la macro Filtre_BDD à tous vos boutons,
alorsloulou-Base 2 SIVU.xlsm
(71.59 Kio) Téléchargé 9 fois
Sub Filtre_BDD()
Dim t As String
t = ActiveSheet.Shapes(Application.Caller).TextFrame.Characters.Text
copy_filtre t
End Sub

Sub copy_filtre(t)
Dim sh1, sh2
Set sh1 = Sheets("BDD")
Set sh2 = Sheets("Plan d'action 1")
sh1.Activate
sh2.Rows("3:10000").ClearContents

With sh1.Range("A9:Z9")
    If Not sh1.FilterMode Then
      .AutoFilter
    End If
    .AutoFilter Field:=1, Criteria1:="=" & t
    .Range("_FilterDatabase").SpecialCells(xlCellTypeVisible).Copy sh2.Range("A3")
    .AutoFilter
End With
sh2.Activate
Set sh1 = Nothing
Set sh2 = Nothing
End Sub
Prenons soins de nous et de notre vaisseau spatial, nous n’en n’avons qu’un ...notre planète terre
isabelle
a
alorsloulou
Jeune membre
Jeune membre
Messages : 33
Inscrit le : 3 mai 2018
Version d'Excel : 2016

Message par alorsloulou » 4 mai 2018, 09:09

Bonjour sabV,
Merci pour ton travail rapide et efficace, qui m"évite l'utilisation de macros manquant de stabilité, là c'est TOP !!

Pou des raisons d'esthétismes, la colonne A( unité de travail ) sera masquée à l'impression. Comment faire pour que le nom de l'unité de travail sélectionnée apparaissent en haut du tableau (C;5 par exemple) ? J'ai essayé le "= A 12", mais le filtrage conserve le numéro des lignes et donc reste sur l'unité de travail notifiée en A 12.

Si vous avez une solution je suis preneur !
Merci !
Avatar du membre
i20100
Passionné d'Excel
Passionné d'Excel
Messages : 6'030
Appréciations reçues : 351
Inscrit le : 16 mars 2017
Version d'Excel : 2010

Message par i20100 » 4 mai 2018, 16:08

Bonjour,

modifier
sh1.Activate
par
sh1.Activate
Cells(5,"C") = t
Prenons soins de nous et de notre vaisseau spatial, nous n’en n’avons qu’un ...notre planète terre
isabelle
a
alorsloulou
Jeune membre
Jeune membre
Messages : 33
Inscrit le : 3 mai 2018
Version d'Excel : 2016

Message par alorsloulou » 4 mai 2018, 18:58

Bonsoir sabV,
Cette nouvelle modification permet de supprimer les lignes 1 à 5 après filtrage. Cependant, j'aurais aimé garder cette espace (je vais y ajouter une touche retour au sommaire) et notifier le titre du document (en B5). En C5, je souhaiterais qu'apparaisse l'unité de travail qui a été préalablement sélectionné en sommaire. Je ne sais pas si cela est possible. En tout cas, merci pour ce temps consacré à mon cas !
Avatar du membre
i20100
Passionné d'Excel
Passionné d'Excel
Messages : 6'030
Appréciations reçues : 351
Inscrit le : 16 mars 2017
Version d'Excel : 2010

Message par i20100 » 4 mai 2018, 19:39

Pour des raisons d'esthétismes, la colonne A( unité de travail ) sera masquée à l'impression
est ce que vous parler de l'onglet "BDD" ou "Plan d'action 1" ?
Prenons soins de nous et de notre vaisseau spatial, nous n’en n’avons qu’un ...notre planète terre
isabelle
a
alorsloulou
Jeune membre
Jeune membre
Messages : 33
Inscrit le : 3 mai 2018
Version d'Excel : 2016

Message par alorsloulou » 4 mai 2018, 20:09

Il s'agit effectivement de l'onglet "Plan d'action 1"
Avatar du membre
i20100
Passionné d'Excel
Passionné d'Excel
Messages : 6'030
Appréciations reçues : 351
Inscrit le : 16 mars 2017
Version d'Excel : 2010

Message par i20100 » 4 mai 2018, 20:17

sur cet onglet "Plan d'action 1",
voulez vous que les 2 lignes de titre soit en ligne 6 et 7 et que les données soient copier à partir de la ligne 8 ?
il serait alors possible de mettre la valeur de t en cellule C5
Prenons soins de nous et de notre vaisseau spatial, nous n’en n’avons qu’un ...notre planète terre
isabelle
a
alorsloulou
Jeune membre
Jeune membre
Messages : 33
Inscrit le : 3 mai 2018
Version d'Excel : 2016

Message par alorsloulou » 4 mai 2018, 20:26

Sur l'onglet "Plan d'action 1" où je pourrais extraire et imprimer grâce à votre filtrage l'unité de travail choisie, je souhaite masquer la colonne A (afin de ne pas surcharger la présentation). De ce fait, je souhaite garder une entête (ligne 1 à 7) pour :
1) Sur la version numérique, ajouter une touche "sommaire" en lien hypertexte
2) Sur la ligne 5, colonne B mettre Document unique (ceci restera tout le temps, sans distinction d'unité de travail)
3) Sur la ligne 5, colonne C indiquer l'unité de travail qui a été sélectionnée (en impression si je masque A, je ne pourrais plus savoir de quelle UT il s'agit).
Je ne sais pas si mes propos sont assez précis ::o, n'hésitez pas à me questionner.
Merci
Avatar du membre
i20100
Passionné d'Excel
Passionné d'Excel
Messages : 6'030
Appréciations reçues : 351
Inscrit le : 16 mars 2017
Version d'Excel : 2010

Message par i20100 » 4 mai 2018, 20:36

voici la modification pour la macro copy_filtre
alorsloulou-Base 2 SIVU.xlsm
(71.04 Kio) Téléchargé 8 fois
Sub copy_filtre(t)
Dim sh1, sh2
Set sh1 = Sheets("BDD")
Set sh2 = Sheets("Plan d'action 1")
sh1.Activate
sh2.Rows("10:10000").ClearContents
sh2.Range("A:A").EntireColumn.Hidden = False

With sh1.Range("A9:Z9")
    If Not sh1.FilterMode Then
      .AutoFilter
    End If
    .AutoFilter Field:=1, Criteria1:="=" & t
    .Range("_FilterDatabase").SpecialCells(xlCellTypeVisible).Copy sh2.Range("A10")
    .AutoFilter
End With
sh2.Activate
Cells(5, 3) = t
Range("A:A").EntireColumn.Hidden = True
Set sh1 = Nothing
Set sh2 = Nothing
End Sub
1 membre du forum aime ce message.
Prenons soins de nous et de notre vaisseau spatial, nous n’en n’avons qu’un ...notre planète terre
isabelle
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message