Macro liaison entre 2 fichiers Excel

Bonjour à tous,

Je suis novice dans le domaine et je demande votre aide.

Je souhaiterais faire un lien entre 2 fichiers excel.

Le premier fichier est un fichier de contrôle de produit. On y retrouve une référence produit, un fournisseur correspondant et le statut du contrôle à la fin de celui-ci.

Le second fichier est une base de données avec la liste de tout mes produits liés à leur référence. Un même produit peut avoir plusieurs fournisseurs. On retrouve donc dans une même ligne une référence produit et plusieurs colonnes de fournisseurs pouvant aller pour l'instant jusqu'à 7. Pour chaque fournisseur j'ai un statut de contrôle avec 3 types:

  • A signifie que c'est une première livraison donc un contrôle classique
  • B signifie que c'est un habitué donc pas de contrôle
  • C signifie que nous avons récemment eu un problème avec donc contrôle renforcé.

Quand une personne reçois un lot de produit dont le statut du contrôle est C, il le contrôle à l'aide de mon premier fichier et je dois ensuite manuellement mettre à jour le statut dans le second fichier.

Voici ma demande :

J'aimerais que lorsqu'une personne fait un contrôle à l'aide du premier fichier, il y ai un bouton "enregistrement".

A l'aide d'une macro, si le contrôle est OK, la macro ouvre le second fichier. Elle cherche ensuite la ligne correspondante à la référence contrôlée. Elle cherche ensuite le fournisseur correspondant et modifie le type de contrôle pour le mettre en type B dans la cellule juste à droite du fournisseur.

J'espère être assez clair, je reste entièrement disponible.

Merci d'avance.

Lelout

38bdd-controle.xlsx (17.68 Ko)
18controle.xlsx (9.25 Ko)

Bonjour Lelout le forum

1) dans ton exemple le fournisseur on suppose que c'est ABC et dans le classeur "BDD Contrôle" le fournisseur n'existe pas, c'est normal ?? Ou c'est un test pour voir si nous sommes réveillés??

2) on suppose aussi que tu auras plusieurs lignes à mettre à jour dans le fichier BDD Contrôle ?? Ou alors tu n'auras jamais qu'une seule ligne dans le fichier 1 ???

a+

Papou

Bonjour,

Les deux fichiers que je vous ai joins sont vides, ce ne sont pas les originaux pour des questions de confidentialité. J’ai recopié la structure des fichiers uniquement donc le contenu des cases n’est pas important.

A la réception d’un lot de produit, une personne au contrôle ouvre le fichier contrôle, il y a des macro derrière ce fichier qui lui diront en rentrant la référence et le fournisseur quel type de contrôle faire. C’est à la fin de son contrôle que la personne mettra le statut OK ou KO de son contrôle dans le fichier contrôle. C’est à ce moment là que j’aimerais qu’elle clique sur un bouton enregistrement pour mettre à jour la case correspondante dans la BDD contrôle.

Pour faire simple c’est une seule maj à la fois.

Le contrôleur contrôle un lot de produit du fournisseur À, dans la base le statut est C (contrôle renforcé). Le lot est OK à la fin du contrôle, il fait donc mettre à jour le type de contrôle de ce fournisseur dans BDD pour le faire passer en B.

Re Bonjour Lelout le forum

structure des fichiers uniquement donc le contenu des cases n’est pas important.

ah alors si ce n'est pas important

a+

Papou

Re Bonjour Lelout le forum

ton dossier en retour tu décompresses le dossier sur ton bureau , tu ne l'ouvres surtout pas en temporaire!!

1) tu ouvres le dossier

2) tu ouvres "Lelout Contrôle V1.xlsm"

3) tu cliques le bouton "Enregistrer"

a+

Papou

PS: IMPORTANT les deux fichiers BDD et contrôle doivent rester dans le même dossier

20lelout-v1.zip (34.91 Ko)

Bonjour,

Déjà un grand merci pour votre aide !

J'ai regardé le fichier et il y a quelque chose qui ne fonctionne pas. J'ai voulu prendre l'exemple de la première ligne de la BDD.

Pour la référence B1 il y a 3 fournisseurs et le type de contrôle du 3 est C. Dans le fichier contrôle j'ai alors fais la simulation d'un contrôle OK pour la ref B1 et fournisseur C. Lorsque je fais enregistrement ça me met "colonne référence pas trouvée".

Le problème je pense est qu'une fois que la macro a trouvé la bonne ligne référence, il faut qu'elle cherche dans cette ligne le bon fournisseur.

Bonjour Lelout le forum

bah oui

Lorsque je fais enregistrement ça me met "colonne référence pas trouvée".

dans ta feuille si le fournisseur n'est pas présent en ligne 1 bah il ne trouve pas le fournisseur quoi d'anormal là-dedans???

je te l'ai signalé mais tu as dit que cela n'avais pas d'importance, alors si cela n'a pas d'importance pour toi relis mon premier post STP

Ta réponse à ma première demande

J’ai recopié la structure des fichiers uniquement donc le contenu des cases n’est pas important.

donc on revient à la case départ, mais si tu prends un exemple de Fournisseur qui existe dans la ligne 1 de ton fichier à mettre à jour cela fonctionne parfaitement

a+

Papou

Bonjour,

Excusez-moi je me suis mal exprimé, le fournisseur est important.

Il faut d'abord trouvé la bonne ligne (correspondant à la référence) puis trouver le bon fournisseur dans cette même ligne.

Pour chaque ligne de référence, on va avoir plusieurs fournisseurs (ces fournisseurs ne seront pas les même pour chaque colonne, ça varie).

Voulez-vous que je complète le tableau pour que ça soit plus clair ?

Re Lelout le forum

bon alors j'ai le sentiment que tu ne comprends pas bien!!!

Excusez-moi je me suis mal exprimé, le fournisseur est important.

Il faut d'abord trouvé la bonne ligne (correspondant à la référence) puis trouver le bon fournisseur dans cette même ligne.

c'est exactement ce que ma macro fait

je cherche la colonne Fournisseur et la ligne ref et si je ne trouve pas la référence ou le fournisseur tu as un message d'erreur te le signalant.

puis trouver le bon fournisseur dans cette même ligne.

bah moi je veux bien tout mais tu veux que l'on cherche dans une base vide???

Pour moi le nom du fournisseur est obligatoirement en ligne 1 de ton fichier à mettre à jours et non dans chaque ligne de ta base.

donc encore une question de plus mais j'ai peur de la réponse !!!

quetsion: Est-ce que les noms de fournisseurs sont dans la ligne 1 du fichier BDD contrôle???

La réponse va être oui c'est sur, alors je te dis que la macro que je t'ai pondue est bonne sans aucun problème, si la réponse est non bah envoie le fichier rempli avec tes fournisseurs

a+

Papou

8lelout-v1.zip (37.59 Ko)

Bonjour,

J'ai refais les fichiers en les complétant d'avantage et en expliquant au mieux le sujet dans le fichier contrôle.

Pour mieux comprendre j'ai changé le nom des fournisseurs pour l'exemple (1;2;3; ...) pour ne pas mélanger avec les types de contrôle (A;B;C).

J'espère que cela sera assez clair, je suis désolé pour le désagrément.

Merci d'avance,

Re Lelout le forum

ton dossier en retour à décompresser sur ton bureau ou ailleurs avant d'ouvrir

avec une recherche uniquement sur la ligne ref

a+

Papou

PS: par contre je n'ai jamais vu une Base de Donnée faites de cette manière, car tu ne devrais avoir qu'un fournisseur par colonne et pas de multiples fournisseurs par colonne, mais bon c'est ??????????? !!!!!!!!!!

31lelout-v2.zip (37.69 Ko)

Bonjour,

Merci beaucoup c'est génial ! Merci pour votre aide et votre patience.

Re Bonjour Lelout le forum

il n'en reste pas moins vrai que ta base de données et très mal faites, que tu devrais changer et mettre tous tes fournisseurs en ligne 1 et tes références produit en colonne A comme maintenant

a+

Papou

Rechercher des sujets similaires à "macro liaison entre fichiers"