Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…