XL 2010 Filtre TCD plusieurs valeurs dans une autre feuille

ELucie

XLDnaute Nouveau
Bonjour à tous,

N'ayant pas de connaissances solides en VBA, je fais appel à vous...
J'ai dû modifier les données pour raison de confidentialité mais l'objectif reste le même.

J'ai trois feuilles :
- la première constitue ma base de données
- la seconde est un TCD reprenant la BDD pour obtenir par article et par semaine, le nombre d'OF en-cours ainsi que le poids de mes articles.
- La troisième constitue mes articles étudiés.

Je souhaite, par ce code qui me génère une erreur, afficher dans mon TCD seulement les articles inscrits dans ma feuille "Articles" et si possible supprimer ou masquer les autres lignes.
La base d'articles à étudier ne restera pas fixe, des articles peuvent être ajoutés/supprimés. L'objectif étant de pérenniser l'utilisation du fichier.

Après plusieurs recherches, j'ai testé ce code :

Sub Filtrer_TCD()
x = Sheets("Articles").Range("A2:A50")
Sheets("TCD").Select
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotField("x").PivotItems(Str).Visible = True
End Sub

Le fichier est joint pour une meilleure visualisation.
Je remercie tout ceux qui pourront m'aider dans ma recherche
 

Fichiers joints

chris

XLDnaute Barbatruc
Bonjour

Si tu peux installer PowerQuery en addon sur 2010 et 2013, intégré à partir d'Excel 2016, cela se fait en quelques clics sans VBA

Il suffit quant l'un ou l'autre des tableaux change, d'utiliser données actualiser Tout.

A défaut tu peux utiliser MsQuery intégré à toutes les versions Excel mais nettement moins convivial...
 

Fichiers joints

Roblochon

XLDnaute Impliqué
Bonjour,
bonjour @chris,

En pièce jointe une solution par vba.
Et je vais directement me pencher sur la solution de @chris pour améliorer la qualité de mon PQ ..arf :)

Cordialement

Edit: ai rajouté une macro pour réafficher tout en cas de besoin
 

Fichiers joints

Dernière édition:

ELucie

XLDnaute Nouveau
Désolé pour le multipost, je ne connais vraiment pas les forums sous cet angle... Je ne m'attendais pas à tant de réactivité et je vous en remercie grandement. Cette erreur ne sera pas reconduite.

Merci encore, le code fonctionne parfaitement !
 

chris

XLDnaute Barbatruc
Re
Désolé pour le multipost, je ne connais vraiment pas les forums sous cet angle... Je ne m'attendais pas à tant de réactivité et je vous en remercie grandement. Cette erreur ne sera pas reconduite.

Merci encore, le code fonctionne parfaitement !
C'est bon pour cette fois, élève Elucie, mais qu'on ne vous y reprenne pas :);)

Et vous avez deux solutions pour la peine !
 

Discussions similaires


Haut Bas