Recherche dans un autre classeur

Bonjour à tous,

Je bloque sur un petit problème qui je pense n'est pas compliqué.

J'ai un fichier de base. Dans la cellule C1 je rentre un nombre.

Je voudrais chercher cette valeur dans un autre fichier défini.

j'ai commencé avec ce code :

Sub Recher()
    Dim NomFic As String
    Dim Fich As Workbook
    Dim nombre As Integer

    NomFic = ThisWorkbook.Path & "\BDD\Fichier1.xls" 'Je lui donne le chemin d'accès au fichier dans lequel je veux rechercher.

    Set Fich = GetObject(NomFic) 'je défini mon Workbook

End Sub

Sauf que je ne sais pas à partir de là comment lui dire de rechercher ma valeur en C1 dans ce fichier.

With Fich.Worksheet.Range("a1:a500") ne marche déjà pas alors la suite n'en parlons pas

Merci d'avance

Salut,

Sans avoir tes fichiers à disposition, c'est assez dur de t'aider. Mais je te montre un code qui fonctionne et que tu pourras sûrement adapter à tes besoins. Je n'ai pas trop chercher à comprendre comment tu avais fait tes essais.

Tu places le fichier Base ci-joint dans un dossier quelconque. Dans le même dossier, tu dois avoir un sous-dossier BDD et dans ce sous-dossier, l'autre fichier joint Fichier1 (que tu laisses fermé).

En modifiant la cellule C1 du fichier Base, ça va chercher la valeur correspondante dans dans le fichier Fichier1 et l'inscrire en D1. Si la valeur inscrite n'est pas trouvée, tu en es averti.

Cordialement.

54base.zip (11.00 Ko)
43fichier1.zip (6.51 Ko)

Salut Yvouille,

je n'avais pas mis mes fichiers tout simplement parce que j'ai crée juste 2 fichiers comme tu l'as fais sans rien dedans, avec juste 2 ou 3 valeurs pour tester.

Ce que tu m'as donné est je pense pas mal. j'arrive à peu près à l'adapter. Par contre, pour corser le truc, ma valeur à trouver dans mon fichier 1 peut être dans n'importe quelle cellule, et pas uniquement dans la colonne C. (max col AB et ligne 250)

(la valeur dans le fichier base reste bien en C1 elle.)

Donc au niveau de la recherche, je n'arrive pas à modifier ta macro pour ça.

Si tu as une idée je suis preneur

Merci déjà pour cette petite macro utile !

Dans mon exemple, je cherche une valeur quelconque indiquée dans la cellule C1 du fichier BASE dans le FICHIER1 - sur une plage assez petite - et je reporte la valeur qui se trouve directement à droite de la valeur trouvée.

Si on trouve la valeur recherchée dans ta plage A250:B250 dui FICHIER1 en B34 par exemple, que veux-tu reporter dans le fichier BASE ?

A te relire.

Rechercher des sujets similaires à "recherche classeur"