RechercheV conditionnelle pour mettre à jour BDD

Bonjour à tous et à toutes,

Au boulot, j'ai plusieurs bases de données :

  • - BDD A (notre BDD)
      BDD B (celle d'un fournisseur 1)
    • BDD C (celle d'un fournisseur 2)
    • ...
Je voudrais mettre à jour les prix de notre BDD (la BDD A) en fonction de ceux que nous donne nos fournisseur et qui sont contenus dans la BDD B, dans la BDD C, ...

Pour ça je fais, une rechercheV en disant, grosso modo à Excel "Recherche le prix du produit X, contenu dans le tableau (dans la BDD) du fournisseur 1 allant de là à là".

Un des problèmes, c'est qu'on a plusieurs fournisseurs. Donc si je demande à Excel de rechercher un produit X dans la BDD/le tableau du fournisseur 1 et qu'il ne le trouve pas, il va me mettre #REF (ou #N/A je ne sais plus) à la place du prix, alors que ce produit X (et donc son prix) existent (peut-être) dans la BDD/tableau du fournisseur 2.

Ce que je cherche à faire, c'est donc une RechercheV conditionnelle de sorte que SI après une 1ère RechercheV Excel ne trouve rien, il ne modifie pas la valeur contenue dans la cellule et qu'il recherche dans la BDD du fournisseur 2.

J'avais pensé passer par un =SI avec comme Valeur_si_vrai une première rechercheV dans la BDD B, et comme valeur_si_faux une seconde rechercheV dans la BDD C (ou relancer imbriquer un second =SI pour rechercher dans d'autres BDD), mais je bute dès le début sur le Test_logique. Quoi mettre comme test logique ?

Est-ce que je peux faire ce que je veux avec une "simple" formule ou est-ce que c'est trop complexe et je dois passer par une macro ?

Merci par avance pour votre réponse.

Bonne journée à vous.

P.S : Je suis désolé, mais pour des raisons de confidentialité, je ne peux pas vous fournir de fichiers . Si besoin, par contre, je peux créer des fichiers bidons.

Bonjour,

P.S : Je suis désolé, mais pour des raisons de confidentialité, je ne peux pas vous fournir de fichiers . Si besoin, par contre, je peux créer des fichiers bidons.

Que voilà une bonne idée

P.

Bonjour,

C'est surtout que tu vas avoir une formule longue, beaucoup de formules, sans doute des liaisons entre classeurs si les bases sont dans des classeurs différents.... et qu'à ce titre une procédure de mise à jour serait certainement plus rapide, et le classeur plus léger (ou moins lourd !)

Ce que tu ne dis pas c'est si chaque produit n'a qu'un seul fournisseur, ou s'il peut en avoir plusieurs, et si alors on identifie le fournisseur, les prix pouvant différer (alors que dans le premier cas, il n'y aura toujours qu'un prix à trouver).

Cordialement.

MFerrand, il est vrai que les BDD des fournisseurs sont dans divers classeurs et le but est d'ailleurs de tout centraliser dans une seule BDD : la notre. Néanmoins, je peux très bien tout ramener dans un seul classeur et créer une feuille par classeur. Ça ne changera pas grand chose à mon problème : il y aura toujours autant de liaisons sauf qu'au lieu d'être entre classeur, elles seront entre feuilles de calcul. Par conséquent, autant avoir une BDD par classeur, ça revient au même.

Pour votre autre question : chaque produit n'a qu'un seul fournisseur (pour une fois qu'une chose est simple dans cette histoire )

Sinon, on n'a pas tant de fournisseurs que ça; on en a que 4.

Dans ce cas de figure, une macro de mise à jour est sûrement la solution la plus simple.

Bonjour spip 93, bonjour le forum

Voici une solution par macro que tu pourra adapter à ton besoin

Cdlt

45recherche-v.xlsm (19.01 Ko)

Il vaudrait mieux que tu fournisses les éléments de ta configuration à utiliser dans cette opération, de façon que l'on puisse d'aiguiller sur du "sur mesure" et autant que possible rapide.

Cordialement.

Rechercher des sujets similaires à "recherchev conditionnelle mettre jour bdd"