Filtrer des données à partir d'un sommaire

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.

21base-2-sivu.xlsm (63.39 Ko)

Bonjour,

il faut affecter la macro Filtre_BDD à tous vos boutons,

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

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 !

Bonjour,

modifier

sh1.Activate

par

sh1.Activate
Cells(5,"C") = t

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 !

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" ?

Il s'agit effectivement de l'onglet "Plan d'action 1"

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

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 , n'hésitez pas à me questionner.

Merci

voici la modification pour la macro copy_filtre

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

Juste un grand wouaaaahhh !!

Merci beaucoup, je vais prendre le temps de compléter les données et faire un essai en réel avant de clore ce fil de discussion !

Merci encore !

Juste un grand wouaaaahhh !!

Merci beaucoup, je vais prendre le temps de compléter les données et faire un essai en réel avant de clore ce fil de discussion !

Merci encore !

Bonjour sabV,

Il semble y avoir une anomalie sur l'unité de travail "Agent Social (jour)". Le filtrage n'affiche les lignes de la BDD qu' à partir de la 7ème ligne. Il doit y avoir un rapport direct avec l'entête ajouter sur l'onglet "Plan d'action 1".

D'ailleurs, lorsque je change le nom de l'onglet "Plan d'action 1" en "Document Unique" et que je fais ensuite la modification dans le codage, il y a une perte dans la présentation. Peut-on coder de façon à respecter les hauteurs de lignes et les largeurs de colonnes de la BDD sur l'onglet de réception du Filtrage (Document Unique maintenant) ?

Merci !!

Bonjour,

Je ne trouve pas la solution au probleme soulevé dans le dernier message. Avez vous une idée au probleme posé ?

Merci

Bonjour,

Voici la modification,

à tester,

Merci je regarde cela dans la journee !

Merci beaucoup SabV,

J'ai pu mettre à jour mes données et le rendu est exactement ce que je souhaitais.

Dans la continuité de ce dossier, est-il possible d'améliorer les choses ? Dois-je ouvrir un nouveau post ?

Dans le doute je pose ma question :

Maintenant que dans le DU, je peux classer ma BDD par unité de travail, serait-il possible maintenant de classer par niveau de risque :

  • En cliquant dans le sommaire sur "plan d'action 1", les lignes ayant un niveau de risque rouge, indépendamment des unités de métiers (qui apparaîtrons en colonne 1 cette fois-ci) dans l'onglet plan d'action 1
  • En cliquant dans le sommaire sur "plan d'action 2", les lignes ayant un niveau de risque orange, indépendamment des unités de métiers (qui apparaîtrons en colonne 1 cette fois-ci) dans l'onglet plan d'action 2
  • En cliquant dans le sommaire sur "plan d'action 3", les lignes ayant un niveau de risque jaune, indépendamment des unités de métiers (qui apparaîtrons en colonne 1 cette fois-ci) dans l'onglet plan d'action 3
  • En cliquant dans le sommaire sur "plan d'action 2", les lignes ayant un niveau de risque vert, indépendamment des unités de métiers (qui apparaîtrons en colonne 1 cette fois-ci) dans l'onglet plan d'action 4.

L'idée est que ce qui sera mis à jour dans la BDD (la cotation des risques notamment) sera actualisée dans les onglet 1,2,3,4.

Je suis à votre dispo si besoin.

Merci encore pour votre contribution !

Bonjour,

est ce qu'il faut enlever les données du rapport précédent ? (Agent Social (jour))

Bonsoir SabV,

Je vous transmets un nouveau support qui reprend la même idée que le précédent avec quelques modifications depuis.

Sur le tri de la BDD par unité de travail (onglet Document Unique), je rencontre deux difficultés : la hauteur des lignes varie énormément avec celle de la BDD d'origine. Puis comme par exemple pour l'unité de travail "Surveillants de Cours", des lignes apparaissent en dessous alors que la colonne A ne présente aucune unité de travail.

Concernant le tri par couleur des niveaux de risques.Vous avez raison, certaines données ne sont plus pertinentes. Entre la BDD et les onglets plan d'action resteront comme éléments dynamique : Le niveau de risque, l'unité de travail et Causes des RPS.

Inversement, entre les onglets "plan d'action" et la BDD, est-il possible que les éléments renseignés dans "Actions retenues par le COPIL" et et "Actions de préventions déjà existantes"alimentent, dans l'onglet BDD, la partie "action(s) de prévention(s) identifiée(s)" et et Actions de préventions déjà existantes. Ainsi le DU sera à jour grâce aux travaux sur les plans d'actions.

Je ne sais pas si tout cela est envisageable. J'ai essayé différentes choses (supprimer les données DU avant de relancer un nouveau tri par unité de travail, les = avec filtre excel mais prend tout en compte même les intitulés non cotés ...)

Je vous laisse regarder, dites-moi.

Merci encore

11du-rps-3.xlsm (95.82 Ko)

Bonjour,

si j'ai bien compris, sur les onglets "Plan..."

il n'y a que les colonnes R, A, B et T qui sont reportées ?

Rechercher des sujets similaires à "filtrer donnees partir sommaire"