Recherche de correspondances et renvoi d'une valeur

Bonjour,

Je suis débutante en VBA et j'aurai besoin d’aide pour résoudre un problème.

Je souhaiterai rechercher des correspondances entre deux fichiers Excel et qu’il puisse me renvoyer une certaine valeur associée, ci-joints les fichiers concernés.

  • Le premier fichier (Taux de remplissage pratique) doit associer le code article (colonne B) au PCB cdé (colonne C).
  • Il faut ensuite que dans le fichier PCB x Carton le code article ainsi que le PCB cdé vu précédemment soient recherchés et reconnus parmi l’ensemble des codes existants (colonne A). Le problème étant que pour chaque code article il existe entre 1 et 3 PCB possibles (colonne B, C, D). De plus, pour chaque PCB il existe un type de carton associé (colonne E, F, G).

Exemple : pour le code article 27, les PCB possibles sont 4 et 8, pour le PCB de 4 c’est le carton 2 qui est utilisé et pour le PCB de 8 ce sera le 3 (voir fichier pour mieux comprendre).

Mon objectif final est de pouvoir récupérer le type de carton qui est utilisé pour chaque ligne du fichier Taux de remplissage.

Pour résumer : dans le fichier Taux de remplissage, le programme doit associer le code article au PCB cdé, il doit ensuite rechercher et trouver cette association dans le fichier PCB x Carton et me renvoyer dans le premier fichier le type de carton qui sera utilisé.

J’ai déjà retourné le problème dans tous les sens et ne vois pas du tout comment faire cela.

Je vous remercie d’avance pour votre aide

17pcb-x-carton.xlsx (29.60 Ko)

Bonjour à tous !

Et.....

Je vous propose d'étudier la piste Power Query (nativement intégré dans votre Excel 2016)

Cet outil va lire le classeur PCB, et le retraiter afin de rendre exploitable la table qu'il contient. Contrainte : voir le commentaire sur le nom des champs.

15pcb-x-carton.xlsx (57.58 Ko)

Le deuxième classeur (Taux de remplissage) contient, outre vos données, la requête Power Query.
Pour tester : Mettre à jour le chemin du fichier (corrigé des en-têtes) PCB, puis "Actualiser tout".

J'ai inséré une proposition de formule vous retournant le type de carton.

Note : On peut accessoirement faire ce travail (lien entre Code article, PCB et type carton) dans Power Query. L'outil pourrait, bien évidemment, intégrer d'autres calculs directs de manière à vous retourner une table la plus complète possible.

Bonjour,

Je vous remercie de votre réponse et cela correspond à ma demande.

Cependant, je me suis rendue compte que la colonne code article comportait des erreurs (notamment par rapport aux 0 à supprimer), j'ai modifié la formule pour corriger cette erreur mais cela semble ne plus faire fonctionner la formule donnant le type de carton : =SOMMEPROD((t_PCB[Code article]=B2)*(t_PCB[PCB]=C2)*t_PCB[TypeCarton]), la colonne affichant à présent des 0.

De plus je ne comprends pas exactement comment fonctionne la fonction sommeprod afin de pouvoir le reproduire.

En pièce jointe le fichier modifié

Bonjour à tous de nouveau !

Le souci trouvait son origine dans un changement de type (texte à numérique) pour le champ "Code Article".

J'ai modifié le typage dans la requête pour assurer la cohérence.

Pour la valeur "0" retournée, je vous propose d'opter pour un format personnalisé masquant la valeur 0.

Je vous remercie pour le temps que vous avez consacré à mon problème. Je pense qu'il est maintenant en grande partie résolu.

Avant de marquer le sujet en résolu il faudra que je teste avec d'autres fichiers pour voir si cela fonctionne encore.

Encore merci

Bonjour Estelle64218

Vous pouvez très bien cocher le post qui vous a permis de résoudre le problème
et le décocher si quelque chose ne va pas, ce dont je doute fort venant de JFL que je salue

Cela évitera "d'oublier" ce sujet

A+

Bonjour à tous de nouveau !

@BrunoM45 : Hello !

Vous pouvez très bien cocher le post qui vous a permis de résoudre le problème
et le décocher si quelque chose ne va pas, ce dont je doute fort venant de JFL que je salue

Si seulement c'était vrai......

Rechercher des sujets similaires à "recherche correspondances renvoi valeur"