Microsoft 365 VBA Creer un fichier avec une cellule "dynamique"

trekkeur50

XLDnaute Junior
Bonjour,

A partir d'un fichier excel (fichier A), je souhaite creer un nouveau fichier (fichier B)
Le nom du fichier B devra avoir le nom d'une cellule (b1) qui se trouve dans le fichier A.
La valeur de b1 est dans une liste déroulante donc ce n'est pas une constante.
Cela donne:

Workbooks.Add.SaveAs Filename:=ThisWorkbook.Path & "\" & [B1].Value & ".csv"

Mon probleme est que je n'arrive pa,s dans la suite du code, à faire reference à ce nouveau fichier puisque que le nom du fichier change selon le choix de la cellule b1.

Windows("Fichier A.xlsx").Activate
Range("A5").Copy Destination:=Windows(" COMMENT FAIRE REFERENCE A MON FICHIER [B1].Value.csv)

En esperant avoir été clair

Merci de votre aide
 

GALOUGALOU

XLDnaute Accro
bonjour trekkeur50 bonjour le forum
peut ètre une réponse pour te faire avancer

en début de code poser une variable
Dim WB_Principal As Workbook

récuperer le nom du nouveau classeur (mais là je ne suis pas comment faire sur ton classeur) le forum sera certainement très utile!! (certainement arpès l'enregistrement)
Set WB_Principal = ActiveWorkbook
(mais plutot Set WB_Principal = quelque chose ?)

appeler le nouveau classeur par le nom de la variable
WB_Principal.Activate
cordialement
galougalou
 

GALOUGALOU

XLDnaute Accro
précision
si le classeur n'est pas fermé par ton code
Set WB_Principal = ActiveWorkbook va fonctionner.
si tu change de classeur actif le code WB_Principal.Activate va le rappeler.
si tu change de procédure il faut que
Dim WB_Principal As Workbook
soit en
public WB_Principal As Workbook
mais si tu ferme le classeur alors là je ne sais pas

précision :pour excel, je suis juste un amateur éclairé .
je te donne uniquement des pistes à explorer
le forum sera certainement plus éclairé que moi
@+
galougalou
 

trekkeur50

XLDnaute Junior
précision
si le classeur n'est pas fermé par ton code
Set WB_Principal = ActiveWorkbook va fonctionner.
si tu change de classeur actif le code WB_Principal.Activate va le rappeler.
si tu change de procédure il faut que
Dim WB_Principal As Workbook
soit en
public WB_Principal As Workbook
mais si tu ferme le classeur alors là je ne sais pas

précision :pour excel, je suis juste un amateur éclairé .
je te donne uniquement des pistes à explorer
le forum sera certainement plus éclairé que moi
@+
galougalou

Merci pour tes indications, j'essaye de les mettre en place
 

Discussions similaires

Statistiques des forums

Discussions
314 656
Messages
2 111 610
Membres
111 221
dernier inscrit
Odré