Recherchev sur classeur avec nom variable

Piboulet

XLDnaute Nouveau
Bonjour le forum
J’ai une difficulté avec recherchev sur 2 classeurs.
Mon classeur à macro (ma_macro) possède une plage nommée (maplage) , et j’applique une recherchev dans un classeur destinataire (macible). Cela fonctionne parfaitement.
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-2],'Ma_macro.xls'!maplage,2,FALSE)"
J’aimerai beaucoup pouvoir changer le nom de mon classeur (Ma_macro.xls en Mon_ami.xls par exemple) selon les utilisateurs, sans avoir à redéfinir le code VBA. C’est ce que je fais actuellement (remplacer Ma_macro.xls par Mon_ami.xls) mais c’est contraignant.
J’ai regardé la fonction INDIRECT, mais le nom du classeur comportant la plage est toujours fixe.
J’ai essayé de nommer avec des variables : le code passe, mais j’obtiens de magnifiques #N/A…
Si quelqu’un a une idée, Merci d’avance!
Bonne journée.
 

kjin

XLDnaute Barbatruc
Re : Recherchev sur classeur avec nom variable

Bonjour Piboulet, le forum,
Essaies en mettant le nom de ton fichier dans une cellule, et référence à cette cellule dans ta formule. Tu peux nommer cette cellule pour que ce soit plus clair.
A+
kjin
 

Piboulet

XLDnaute Nouveau
Re : Recherchev sur classeur avec nom variable

Cela fonctionne parfait. C'est super.
Avec la Solution wilfried_42 adapté, en trafiquant un peu, cela donne :

Dim monclasseur As String
monclasseur = ThisWorkbook.Name
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-2],'" & monclasseur & "'!maplage,2,FALSE)"

je n'ai as encore testé la proposition de kjin
Merci beaucoup.
 

Discussions similaires

Statistiques des forums

Discussions
312 570
Messages
2 089 768
Membres
104 271
dernier inscrit
acuponctus