Executer une macro avec des cellulles en variables

Bonjour à tous,
J'aimerais exécuter une macro qui recherche une cellule dans un fichier source pour la copier dans un fichier destination.
Ma macro est assez simple et je souhaite éviter de la copier coller dans son intégralité a chaque fois que je dois faire appel a elle.
C'est pourquoi j'aimerais mettre en variable le nom des cellules, comme ca j'ai juste a call maMacro (cell_Destination, cell_Source)
Mais je n'y arrive pas... Une âme charitable pourrait elle m'aider ?
(Je met en PJ mes fichiers mais il faut changer le chemin si vous voulez les tester...)
Cordialement

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,

Alors tout d'abord, merci beaucoup pour votre réponse !
Je comprend pas tout (nouveau sur excel et sur la programmation VBA) mais ça a l'air de fonctionner !

Voici le code commenté :

sub recup()
call CheminBDD1("E:\CIDEO_Crea\Calculateur ACV\Ressources EI3\DB LCIA_V3.1.xlsx", "A1", "B2") 'exécute macro (A1 source - classeur ...V3.1 - va en B2 dest)
end sub

'macro récupération de données dans la BDD
Sub CheminBDD1(nomwbsource$, refsource$, refdest$)
'nom classeur source, référence cellule source et référence cellule destination sont les paramètres de notre macro
on error resume next 'prepare erreur possible
set wbs = Workbooks(nomwbsource) 'affectation du classeur source (ouvert)
if err.number = 9 then 'si erreur 9, donc si le classeur est fermé
    on error goto 0: err.clear 'nettoie erreurs
    set wbs = Workbooks.Open(nomwbsource, , True) 'affectation classeur source suite à son ouverture
end if
thisworkbook.Sheets("1").Range(refdest).value = wbs.Sheets("DB").Range(refsource).value 'refdest de feuille "1" du classeur exécutant recoit valeur de refsource de feuille "DB" du classeur source
End Sub

Cdlt,

Rechercher des sujets similaires à "executer macro cellulles variables"