Boucle sur filtre + copie

Salut tout le monde,

Je vais essayer d'être le plus explicite possible.

J'ai un classeur nommée Nomenclature(voir FJ), ce que je souhaite c'est créer une macro permettant de demander un code produit a l'utilisateur et d'afficher sa nomenclature dans une feuille bilan.

La difficulté du programme (et c'est la que je coince) c'est que si la catégorie Sous_Ensemble = SFIO il faut relancer une recherche dans le code produit avec le code composante de la ligne : 2 options s'offre a nous

  • Si le code produit est introuvable il faut copier le code composante précédent
  • Si le code produit est trouvable il faut recommencer l'étape du début

Ce que j'ai fait, j'ai creer une macro qui permet de demander une code produit, qui affiche 2 onglets:

  • 1 onglet "XSFI0" qui regroupe tous les non- SFI0 du code produit recherché
  • 1 onglet "SFI0" qui regroupe tous les SFI0
Ensuite ma macro, copie la feuille XSFI0, il ne reste que les SFI0 a ajouter en bas de la feuille bilan et c'est la que ça coince.

UN EXEMPLE : Si je tape 10054 dans le code produit, dans ma feuille SFI0, prenons le code composante 120069, il faudrait refaire une recherche avec ce 120069, dans la zone code produit, on aperçoit qu'il y aucune correspondance, il faut donc copier 120069 dans la feuille bilan. En revanche, pour le code 120203, la recherche correspond à un nombre 120303, rebelotte nous effectuons une recherche avec ce 120303 dans la zone code produit et la aucune correspondance il faut donc copier ce 120303 dans la feuille BILAN.

Merci pour votre aide précieuse. En espérant avoir été clair. Si vous avez besoin de précisions je suis la

Je vous joint les fichier. Ma macro est dans le module 1 du classeur macro actif !

7aide-forum.xlsx (406.79 Ko)

Bonjour Zak64000 le forum

une traduction STP

-Si le code produit est introuvable il faut copier le code composante précédent

-Si le code produit est trouvable il faut recommencer l'étape du début

Bah oui avec des explications comme celles là, on va avancer c'est sur !!!!!!

Tu penses que l'on connait ton fichier ??? et ce que tu souhaites en tirer ???

la réponse est NON, on ne le sait pas.

Le but c'est quoi ?? de sortir dans une feuille Bilan toutes les lignes de SFI0 et XSFIO qui possèdent la même reférence 10054 dans ton exemple??

merci de répondre précisément, car si le produit est introuvable copier le code composante précédent ?????????????

a+

papou

Mon but c’est qu’un utilisateur tape un code produit présent dans la feuille1 et que dans une feuille bilan soit afficher ses codes composantes.

Mais le problème c’est que les codes composantes SFIO peuvent être composer d’autres codes composantes.

Il faut donc faire une recherche des codes composantes SFIO dans la barre de recherche produit.

Et si il n’y a pas de résultat dans la barre de recherche produit pour un code composante sfio, il faut copier le code composante utiliser pour cette recherche.

Et si il y a des correspondances, il faut refaire une recherche avec les codes composantes sfio dans la barre de recherche produit.

C’est comme des poupées russes quoi x)

Tout se passe sur la feuille 1. La feuille 2 ne sert à rien.

Cordialement.

Re Bonjour Zak64000 le forum

bon alors si je comprend bien Si la colonne A correspond au Numéro Produit cherché et , si la colonne E contient SFIO là seulement il faut relancer une recherche sur la composante qui est en colonne C c'est cela ???

Et si la composante en colonne C n'est pas trouvée dans la colonne A de la feuille 1, alors on copie la ligne du numéro produit correspondant trouvé avant la recherche de la ref de la colonne C?

Autrement on copie la ligne de la Correspondance trouvée en C???

ou alors on recommence si un numéro de produit en C trouve une correspondance en A ????

c'est évident pour toi, mais moi tes poupées russes je m'en moque, je parle français et c'est déjà pas mal.

Mais pour t'aider il faut comprendre et tant que je n'aurai pas compris je ne pourrai pas le faire

Re Bonjour Zak64000 le forum

bon alors si je comprend bien Si la colonne A correspond au Numéro Produit cherché et , si la colonne E contient SFIO là seulement il faut relancer une recherche sur la composante qui est en colonne C c'est cela ???

Et si la composante en colonne C n'est pas trouvée dans la colonne A de la feuille 1, alors on copie la ligne du numéro produit correspondant trouvé avant la recherche de la ref de la colonne C?

Autrement on copie la ligne de la Correspondance trouvée en C???

ou alors on recommence si un numéro de produit en C trouve une correspondance en A ????

c'est évident pour toi, mais moi tes poupées russes je m'en moque, je parle français et c'est déjà pas mal.

Mais pour t'aider il faut comprendre et tant que je n'aurai pas compris je ne pourrai pas le faire

a+

Papou

C’est exactement ça, ta tout compris !

On recommence jusqu’à qu’il n’y ai plus de correspondance pour un code SFiO dans la barre de code produit.

Merci de ton aide papou

Grosso modo on veut dans la feuille bilan les codes composante d’un code produit donnée. Et que les codes composantes SFI0 n’ont aucune correspondances

Re Bonjour Zak64000 le forum

bon alors voilà tu ouvres le fichier tu lis et tu me redis

a+

Papou

14zak64000-v1.xlsm (487.72 Ko)

Bonsoir zak64000 le forum

bah tu me relançais depuis hier, même sur la messagerie privé, et maintenant, tu as la solution et même pas un retour????

bonne soirée

a+

Papou

Désolé pour le temps de réponse assez long, déjà je te remercie pour le temps que tu m’accordes.

C’est super ce que ta fait mais il y a un problème j’ai du mal expliquer sans doute.

Étape 1:

Il faut que lorsqu’on tape un numéro produit de produit, il faut afficher tout ses composant.

Étape 2:

Lorsqu’il s’agit des codes composants SFI0, il faut vérifier qu’il ne sont pas des codes produits. Si il y a pas de correspondance dans la barre de recherche « « Code produit » pour le code composante SFI0 rechercher, on garde le code composante SFI0 utilise pour la recherche.

Étape 3:

Si le code composants SFI0 est un code produit il faut relancer une recherche comme dans l’étape 2 avec les codes composantes SFI0 du produit trouvée jusqu’à ne trouver aucune correspondance.

Il faut que pour un code produit donné, il faut que ses composantes SFI0 n’aient aucune correspondances dans le code produit.

Un exemple : Un utilisateur tape le code produit 10116, il obtient deux codes composantes SFI0(120069 et 120170), si l’on tape 120069 dans la barre de recherche code produit, il y a aucune correspondance, on garde donc 120069. Par contre pour 120170 on obtient une correspondance avec un code composante SFI0(120303), on tape 120303 dans la barre de recherche du code produit il y a aucune correspondance, les codes composantes pour le code produit 10116 sont donc 120069 et 120303.

Voilà j’espère avoir été plus clair

Bonjour Mr Zak64000 !!!!!

Avant d’affirmer des âneries, j'aimerais que tu vérifies ce que tu écris !!!!

Par contre pour 120170 on obtient une correspondance avec un code composante SFI0(120303), on tape 120303 dans la barre de recherche du code produit il y a aucune correspondance, les codes composantes pour le code produit 10116 sont donc 120069 et 120303.

Dans le fichier que tu as donné en exemple la plus grosse référence produit est 11681 alors explique en détail ou elle est ta référence 120303!!!! avec 6 chiffres alors que la colonne A n'en possède que 5 au maximum!!!

Si tu travailles sur un fichier différent de celui que tu donnes, c'est un autre problème mais pour moi, avec tes explications sans être fichu de dire ou chercher , pour moi les codes produits sont colonne A de la feuille 1 et si on cherche une correspondance on cherche par rapport à la valeur de la colonne C de la feuille 1 dans la colonne A

Donc pour moi les deux lignes SFI0 contenu dans la liste obtenue sont OK et sans correspondance Produit colonne A en prenant bien sur le code correspondance de la colonne C et en cherchant dans A

Alors ???????????????????????????????????????

j'ai fait ce que tu as demandé, mais est-ce avec le même fichier??

a+

Papou

Je l’avais précisée en commentaire sur mon fichier que c’était juste un extrait.... T’aurai une idée pour te le partager parce qu’il est trop lourd pour être partager sur le forum.

Merci pour ton aide

re zak64000 le forum

Tu peux le passer sur ""https://www.cjoint.com/"" et passer le lien du fichier en messagerie privé si les données sont un peu privées

pour le test, bah oui tu craies des lignes pour tests et tu passes le fichier, bref c'est ce que j'ai fait

Pour le moment voilà la V3, tu regardes, tu testes avec les lignes que j'ai rajouté tu regarderas la dernière ligne de la feuille 1 et l'avant dernière ligne, et tu me redis.(normalement les lignes devraient correspondre à une recherche multiple de ta ref??? enfin si j'ai compris la manoeuvre??) Tu testes avec le produit 10116

en considérant que je n'ai retourné que la dernière valeur de la colonne C n'ayant pas de correspondance produit en colonne A

sur "Cjoint.com" la taille du fichier peut faire jusqu'à 15 MO

a+

Papou

6zak64000-v3.xlsm (188.35 Ko)

Désolé du temps de réponse j'était occupé toute l'aprem, voici le fichier entier https://www.cjoint.com/c/IFst7omgmfx

Je tcheck la v3 je te dit ça demain.

Merci encore pour ton aide

Bonjour Zak64000 le forum

bon alors voilà ton fichier en retour avec ce que tu veux

https://www.cjoint.com/c/IFteY3exA8w

j'ai rajouté une recherche pour dégrossir le nombre de ligne dans la combobox N° de produit

exemple si tu cherches ton 10116 tu tapes en haut 116 et là tu auras une liste affinée à tous les numéros de produit contenant un 116

à toi de tester et de me redire

a+

Papou

C'est parfait !!! Çà fonctionne et c'est super rapide ! Merci pour tout le travail !

Bonsoir zak64000 le forum

Bah oui c’etait Fait pour cela et pour la rapidité , oui avec une feuille est plus de 105 000 lignes c’est pas toujours évident surtout que chaque ligne doit scrutée l’intégralité de la feuille !!

Bonne soirée

A plus

Papou

Rechercher des sujets similaires à "boucle filtre copie"