Creer un lien entre 2 classeurs avec un nom variable

Bonjour et meilleurs voeux à tous ...

Je cherche à faire une macro qui recherchera dans un dossier unclasseur excel en fonction de son nom pour pouvoir récupérer des informations dans ce classeur source ...

ex: dans la case A1 de mon fichier cible j'ai la valeur "client1", dans la case b1 je voudrais recuperer la valeur c3 issue du classeur client1.xls classé dans mes documents/fiche client

donc en changeant la valeur de a1 (cible), mes données de b1 changerons automatiquement.

J'espère que j'ai été assez précis et je remercie celles et ceux qui vont se pencher sur mon problème !

Dans l'attente

Salut,

Admettons que tu as des fichiers "Client 1", "Client 2", etc. au bout du chemin C:\Users\Lacy\Documents\Jean, tu peux par exemple inscrire "Client 2" dans la cellule A1 du fichier ci-joint, cliquer sur le bouton et la valeur inscrite dans la cellule C3 du fichier indiqué sera reprise dans la cellule C6 du fichier "Blizard".

Tu dois donc adapter le nom du chemin dans la macro afin que ça fonctionne chez toi.

Sub a()

Dim Référence As String, Valeur_à_reporter As String

Application.ScreenUpdating = False
Référence = Range("A1")
Workbooks.Open Filename:="C:\Users\Lacy\Documents\Jean\" & Référence & ".xls"
Valeur_à_reporter = Range("C3")
ActiveWorkbook.Close
Range("C6") = Valeur_à_reporter
End Sub

A te relire.

Edit du 17.01 à 18:00 : Si tes fichiers "visités" sont placés dans le même dossier que le fichier de base, tu pourrais utiliser le code ci-dessous. Tu n'aurais alors pas le problème d'indiquer ton chemin dans le code.

Sub b()
Dim Référence As String, Valeur_à_reporter As String, Chemin As String
Application.ScreenUpdating = False
Chemin = ThisWorkbook.Path
Référence = Range("A1")
Workbooks.Open Filename:=Chemin & "\" & Référence & ".xls"
Valeur_à_reporter = Range("C3")
ActiveWorkbook.Close
Range("C6") = Valeur_à_reporter
End Sub
44client-2.xls (16.50 Ko)
44blizard.zip (10.57 Ko)
40client-1.xls (16.50 Ko)
Rechercher des sujets similaires à "creer lien entre classeurs nom variable"