VBA filtrer selon une plage évolutive/dynamique

Bonjour,

Je désespère et j'ai besoin d'aide!

J'ai un fichier xcl possédant 2 feuilles (voir PJ).

La première feuille "Extrac" possède des codes articles en colonne A. Nota1, la liste de ces codes articles peut être plus ou moins longue et est mise à jour chaque semaine.

La seconde feuille "Liste" possède une liste de codes articles en colonne C, et est évolutive également.

Voila ce que je cherche à faire avec une macro, mais sans résultat jusqu'à présent:

pour chaque code article de la colonne A de la feuille "extrac", je voudrais filtrer les codes articles identiques de la colonne C de la feuille "Liste" et pour chaque ligne trouvée, je veux remplir les cases de la colonne J de cette même feuille avec "NOK", puis supprimer les filtres.

NOTA2 : il se peut que certains codes articles de la feuille "extrac" ne soient pas présents dans la feuille "Liste", auquel cas on ne fait rien et on passe au code article suivant.

16classeur2-test.zip (151.25 Ko)

J'espère être clair.

merci pour votre aide.

Bonjour,

Pourquoi une macro, une simple formule suffit, en J2:

=SIERREUR(SI(EQUIV($C2;extrac!$A:$A;0)>0;"NOK";"");"")

Cdlt

Bonjour

Bonjour à tous

Un essai macro à tester. Te convient-il ?

18classeur2-test-v1.zip (222.49 Ko)

Bye

Un grand merci à toi GMB et à toi Arturo83.

Vos 2 méthodes fonctionnent parfaitement.

Merci Merci Merci!!!!!!

Rebonjour,

bon j'ai planché quelques heures sur ton code Arturo83 en vain.

Je t'explique, j'ai voulu rajouter le N° de modification en automatique, mais je n'arrive pas à rendre la chose dynamique, je n'arrive qu'à associer du texte.

En gros, en plus du job qu'effectue ta macro, je voudrais (dans un monde idéal) que pour chaque NOK inscrits en colonne J de la feuille " Liste" par ta macro, on vienne inscrire sur cette même feuille, en colonne K de la même ligne le N° de modif qui correspond à celui que l'on trouve en colonne C de la feuille "extrac", face au code article colonne "A" correspondant.

... Là, je sèche littéralement.

Je remets le fichier d'exemple.

Merci à vous

Bonjour

Nouvelle version

Bye

Bonsoir,

Sinon, toujours avec formules et sans macro. J'ai converti les tableaux en tableaux structurés.

Formule en J2:

=SIERREUR(SI($J7="NOK";INDEX(Tableau1;EQUIV($C7;Tableau1[code article];0);3);"");"")

Formule en K2:

=SIERREUR(SI($J2="NOK";INDEX(Tableau1;EQUIV($C2;Tableau1[code article];0);3);"");"")

Cdlt

Bonjour à vous ,

Grand merci pour le partage de votre talent!!!

Une merveille.

Rechercher des sujets similaires à "vba filtrer plage evolutive dynamique"