Macro VBA, filtre automatique

Fermé
BOGI35 - 6 mars 2008 à 14:41
 BOGI35 - 6 mars 2008 à 17:15
Bonjour,
Permettez moi tout d'abord de vous remercier pour les nombreuses réponses que vous apportez dans ce forum.
Un seul mot mesdames et messieurs: "Respect". Comment faites vous pour maîtriser tout ça ????

Mon problème (je n'arrive pas à trouver de réponse malgré mes nombreuses recherches dans ce forum).

Puis je faire un filtre automatique à partir d'une valeur présente dans une autre feuille ?

J'ai deux classeurs.
- Un classeur "Suivi Atelier.xls" me permettant de visualiser les résultats d'un atelier (parmi plus de 10),
- le second "recap_resultats.xls" dans lequel sont enregistrés tous les résultats. Il est composé de deux feuilles dont une est nommée "Secteurs Production". Dans la colonne "C"de cette feuille j'ai saisi le N° d'atelier (atelier 1, atelier 2...), en colonne D le secteur (secteur 1, secteur 2...) auquel il est rattaché, sachant que chaque secteur à plusieurs ateliers.

Dans mon classeur "Suivi Atelier", dans la feuille portant le même nom, le secteur est automatiquement renseigné dans la cellule C5 (à partir d'une fonction rechercheV) - ici "Secteur 1". A partir de cette valeur, j'aimerais pouvoir afficher une liste de tous les ateliers (et les résultats) rattachés à ce secteur sans avoir à ouvrir le classeur recap_resultats.xls. (que je souhaiterais masqué au demeurant)

Etant plutot ignorant en VBA, j'ai essayé ce qui suit (sans saisir en VBA que je ne maitrise pas du tout mais en suivant une progression classeur par classeur),

Sub test_filtre()
'
' test_filtre Macro
' Macro enregistrée le
'
Windows("recap_resultats.xls").Activate
Sheets("Secteurs Production").Select
Rows("3:3").Select
Selection.AutoFilter
Selection.AutoFilter Field:=4, Criteria1:="Secteur 1"
End Sub

en remplaçant: Selection.AutoFilter Field:=4, Criteria1:="Secteur 1"
par: Selection.AutoFilter Field:=4, Criteria1:="Suivi Atelier.xls.C5".Select

mais vous vous en doutez, sans succès.

Y a t'il une possibilité de faire une telle requête ?


Merci et encore respect.

BOGI35
A voir également:

1 réponse

y.drillet Messages postés 25 Date d'inscription jeudi 16 août 2007 Statut Membre Dernière intervention 8 août 2008
6 mars 2008 à 14:54
salut,

pourquoi tu ne copies pas ta feuille dans le deuxième classeur?
0
Bonsoir,
Merci d'avoir bien voulu porter un intérêt à ma demande.


- Le classeur "Suivi Atelier.xls" permettant de visualiser les résultats d'un atelier est accessible par plusieurs utilisateurs.
- le classeur "recap_resultats.xls" est en fait la base de données servant à renseigner plusieurs classeurs (dont "Suivi Atelier.xls") et ne doit être utilisé que par un seul utilisateur (gestionnaire de la base).
Cette contrainte impose donc la création de plusieurs classeurs.

Les valeurs restituées dans "Suivi Atelier.xls" sont générées par des formules (RechercheV pour l'essentiel) avec comme entrée unique une référence produit. (par exemple: A partir de cette référence, je sais que c'est l'Atelier 1 qui utilise ce produit, que l'atelier 1 est rattaché au Secteur 1, qu'il en a utilisé 1000 en janvier, 500 en février etc...)

Ce que je souhaiterais maintenant:
A partir de la valeur du secteur (Cellule C5), éditer une liste de tous les ateliers rattachés à ce secteur et bien entendu les utilisations mensuelles pour chacun d'eux.
Chaque secteur étant responsable de sa production, toute possibilité de filtre direct à partir de la feuille "Secteurs production" doit être exclue.

Peut être compliqué ou impossible à réaliser !!!

Sinon, autre possibilité (mais contraignante pour le gestionnaire) créer une feuille par secteur (avec tout ce que celà suppose comme mises à jour) et affecter une macro (If, then,) renvoyant la feuille afférente à la valeur de C5 de "Suivi Atelier.xls" . (Ce que pense pouvoir arriver à faire. Au risque de me répéter, je ne maitrise pas du tout VBA, jusqu'à présent je ne travaillais qu'avec des formules de base).

Merci encore,

BOGI35
0