Utiliser une variable pour remplacer un chemin d'accès

Bonjour,

J'ai fait une macro qui copie une feuille du fichier et enregistre cette feuille sous la forme d'un nouveau fichier Excel dans un répertoire de C.
Cela fonctionne parfaitement . En voici le code VBA pour info :

Sheets("feuille4").Select ' Sélectionne la feuille : feuille4
Sheets("feuille4").Copy ' fait une copie de cette feuille
ChDir "C:\Users\laure\Documents\PERSO_LM" ' donne le chemin d'accès où enregistrer la feuille
ActiveWorkbook.SaveAs Filename:="Ma_Feuille.xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False '
Enregistre la feuille sous la forme d'un fichier xlsx
' dont le nom est : Ma_Feuille.xlsx

Ce code fonctionne mais nécessite de noter en dur dans la macro le chemin d'accès où je veux enregistrer le nouveau fichier. C'est pas pratique. !
Je souhaiterais donc faire autrement : A savoir , que ce chemin d'accès soit récupéré dans une cellule du fichier. ( la cellule C2 de la feuille5 )
J'ai donc fait le code suivant mais qui ne marche pas :

Dim Variable_chemin_accès As String ' Déclaration de la variable qui va remplacer le chemin d'accès
Sheets("feuille5").Select ' sélectionne la feuille où se trouve la cellule contenant le chemin d'accès
Range("C2:C2").Select ' Sélectionne cette cellule
Variable_chemin_accès = ActiveCell.Value ' Charge la variable avec le chemin d'accès du répertoire.
ChDir Variable_chemin_accès ' Normalement ça devrait sélectionner le répertoire indiqué par le chemin d'accès mais c'est là que ça bloque !
ActiveWorkbook.SaveAs Filename:="Ma_Feuille.xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False ' Enregistre la feuille sous la forme d'un fichier xlsx ' dont le nom est : Ma_Feuille.xlsx
Quelqu'un aurait-il la solution ? c'est cette ligne qui bloque : ChDir Variable_chemin_accès

Merci d'avance

Bonjour,

En fin de chemin d'accès, il faut un antislash "\"

votre code:

Dim Variable_chemin_accès As String ' Déclaration de la variable qui va remplacer le chemin d'accès
Dim f5 As Worksheet 'Déclaration de la variable f5 attribuée à la feuille 5, évite les "sélect"
Set f5 = Sheets("feuille5") 'affecte la variable f5 à la la feuille où se trouve la cellule contenant le chemin d'accès
Variable_chemin_accès = f5.Range("C2").Value & "\" ' Charge la variable avec le chemin d'accès du répertoire.
ChDir Variable_chemin_accès ' Normalement ça devrait sélectionner le répertoire indiqué par le chemin d'accès mais c'est là que ça bloque !
ActiveWorkbook.SaveAs Filename:="Ma_Feuille.xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False ' Enregistre la feuille sous la forme d'un fichier xlsx ' dont le nom est : Ma_Feuille.xlsx

Cdlt

Merci Arturo83, pour cette réponse très complète et très détaillée.

ça n'a pas été sans mal , mais j'y suis arrivé.

En fait il n'y avait pas que l'\ qui n'allait pas , il y avait aussi des " " qui avaient été mis automatiquement lors du copié/collé du chemin d'accès et ça n'a pas été évident de comprendre que le plantage venait aussi de cela.

Merci encore

Rechercher des sujets similaires à "utiliser variable remplacer chemin acces"