Bonjour,
Voici un essai :
sub recup()
call CheminBDD1("E:\CIDEO_Crea\Calculateur ACV\Ressources EI3\DB LCIA_V3.1.xlsx", "A1", "B2")
end sub
'macro récupération de données dans la BDD
Sub CheminBDD1(nomwbsource$, refsource$, refdest$)
on error resume next
set wbs = Workbooks(nomwbsource)
if err.number = 9 then
on error goto 0: err.clear
set wbs = Workbooks.Open(nomwbsource, , True)
end if
thisworkbook.Sheets("1").Range(refdest).value = wbs.Sheets("DB").Range(refsource).value
End Sub
Il est possible de passer les noms des feuilles en paramètres également, ainsi que le classeur de destination. Mais j'ai l'impression que celui-ci est le classeur exécutant (donc ce n'est pas nécessaire). Il ne faut passer en paramètre que ce qui est susceptible de varier.
Le code ici considère que le fichier est ouvert et, s'il ne l'est pas, l'ouvre. Ca permet d'éviter d'ouvrir et fermer à chaque fois.
Cdlt,