rechercher le contenu d'une cellule dans une autre base de données

gilles72

XLDnaute Junior
Bonjour à tous,
j'ai 2 base de données. BD1 et BD2 sur un fichier
Dans BD1 j'ai le contenu d'un repertoire avec le nom de fichier, et le chemin de ces fichiers.
Dans BD2 j'ai une liste de nom de fichiers, en colonne A
J'aimerais insérer en colonne B, le chemin de ces fichiers.
Ce chemin se trouve dans la BD1 en colonne B
Le problème est que les noms de fichiers ne sont pas exactement identiques

je cherche donc à:
- balayer chaque cellule de la conne A de BD2
- chercher dans la colonne A de BD1 (par "TROUVE" ou equivalent) et saisir la cellule concernée
- par OFFSET, activer la cellule de la colonne B
- la copier dans la colonne B de BD2
Je ne suis pas sûr d'être clair.
Si kekun voit un moyen...
Un grand merci
Gilles72
 

Pièces jointes

  • ESSAI.xlsm
    189.7 KB · Affichages: 3 036
  • ESSAI.xlsm
    189.7 KB · Affichages: 3 789
  • ESSAI.xlsm
    189.7 KB · Affichages: 3 829

Modeste

XLDnaute Barbatruc
Re : rechercher le contenu d'une cellule dans une autre base de données

Bonsoir gilles72,

On ne sait pas si tu cherches une formule ou du code ... commençons donc par les formules. En B2 de BD2, peux-tu essayer
Code:
=INDEX('BD1'!$B$1:$B$2000;PETITE.VALEUR(SI(ESTNUM(CHERCHE($A2;'BD1'!$A$2:$A$2000));LIGNE('BD1'!$A$2:$A$2000));LIGNES($1:1)))
Valider avec Ctrl+Shift+Enter (des accolades doivent apparaître autour de ta formule, considérée dès lors comme matricielle).
Attention sur des fichiers volumineux, le temps de recalcul est parfois conséquent (et plus si affinités :rolleyes:)

Dis-nous toujours si le principe est celui recherché.
 

gilles72

XLDnaute Junior
Re : rechercher le contenu d'une cellule dans une autre base de données

Bonjour MODESTE...et merci
je cherchais un code, plutôt...
j'ai appliqué ta formule matricielle
ça fonctionne sur les 2 premières cellules mais pas sur les autres (résultat:#nombre!)
je regarde d'ou ça peut venir
un grand merci pour ton aide
Gilles72
 

Modeste

XLDnaute Barbatruc
Re : rechercher le contenu d'une cellule dans une autre base de données

Re-bonsoir,

La bonne formule (pour autant que bonne formule il y ait dans le cas présent serait:
Code:
=INDEX('BD1'!$B$1:$B$2000;MIN(SI(ESTNUM(CHERCHE($A2;'BD1'!$A$2:$A$2000));LIGNE('BD1'!$A$2:$A$2000))))
... toujours à valider en matricielle!

Dans ce cas-ci, Vba est sans doute un meilleur choix :p
 

gilles72

XLDnaute Junior
Re : rechercher le contenu d'une cellule dans une autre base de données

Bonjour Modeste,
excuses pour le ratrd a la réponse
j'ai essayé avec la 2ème formule
les chemins se placent mais pas en face des noms de fichiers correspondant.
Merci encore
gilles72
 

gilles72

XLDnaute Junior
Re : rechercher le contenu d'une cellule dans une autre base de données

Re-bonjour MODESTE
j'ai trouvé MON erreur.
Ta formule fonctionne nickel
chapeau et merci de ton aide
Par contre le principe m'interesserait en VBA
donc si tu s une idée de code
tu as toute mon admiration
encore merci
gilles72
 

gilles72

XLDnaute Junior
Re : rechercher le contenu d'une cellule dans une autre base de données

bonjour BERNARD,
et merci de ton aide également
Tu t'approches...
ce que j'aimerais récupérer en colonne B de BD2, c'est le chemin situé colonne B de BD1
Ensuite , en colonne C de BD2, j'aimerais ne conserver que la partie du chemin, sans le fichier
Merci encore
gilles72
 

Modeste

XLDnaute Barbatruc
Re : rechercher le contenu d'une cellule dans une autre base de données

Bonjour Gilles, Salut Bernard :)

Une fonction personnalisée pour remplacer les formules matricielles ... l'avantage: c'est simple à concevoir et mettre en oeuvre (donc à ma portée!). L'inconvénient, c'est sensiblement plus lent que la proposition de CBernardT ... qui a travaillé avec des tableaux.
La fonction est insérée en B2 ... il n'y a plus qu'à recopier vers le bas.

En t'inspirant des deux propositions, tu devrais arriver à te concocter du "sur mesure" :D
 

Pièces jointes

  • ESSAI(2).xlsm
    201.2 KB · Affichages: 95
  • ESSAI(2).xlsm
    201.2 KB · Affichages: 88
  • ESSAI(2).xlsm
    201.2 KB · Affichages: 99

CBernardT

XLDnaute Barbatruc
Re : rechercher le contenu d'une cellule dans une autre base de données

Re,


Interprétation hâtive de ton projet :(

J'ai modifié le fichier pour obtenir :

1- En colonne B de BD2, le chemin situé colonne B de BD1
2- En colonne C de BD2, la partie du chemin, sans le fichier, le chemin du répertoire.
 

Pièces jointes

  • ESSAI.xlsm
    207.7 KB · Affichages: 79
  • ESSAI.xlsm
    207.7 KB · Affichages: 76
  • ESSAI.xlsm
    207.7 KB · Affichages: 80

CBernardT

XLDnaute Barbatruc
Re : rechercher le contenu d'une cellule dans une autre base de données

Re,

Une reprise avec un temps de travail réduit.

J'ai noté au passage que deux interprétations de la recherche étaient possibles quand le texte d'une cellule en BD2 correspond totalement ou partiellement au nom du fichier présent en BD1.

Ici, la recherche est effectuée avec la chaîne existant en BD2, quelle soit partielle ou entière. La solution est ainsi optimum.
 

Pièces jointes

  • ESSAIv1.xlsm
    208.4 KB · Affichages: 85

gilles72

XLDnaute Junior
Re : rechercher le contenu d'une cellule dans une autre base de données

Bonjour BERNARD
c'est encore mieux...
cest exacatement ce que je voulais obtenir, à savoir le chemin de chaque doc
je regarde de près le code que tu as pondu, pour apprendre un peu de ton savoir!
encore merci
à+
gilles72
 

Discussions similaires

Statistiques des forums

Discussions
312 488
Messages
2 088 835
Membres
103 972
dernier inscrit
steeter