macro sauvegarde sous dossier variable

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

dav06200

XLDnaute Nouveau
Bonjour,

J'aurais besoin d'une aide sur une création de macro de sauvegarde dans un dossier dont le nom varie. Donc pour la meme feuille excel en fonction d'une valeur ( par exemple qui se trouverait dans la cellule A1) il faudrait pouvoir sauvegarder la feuille excel dans ce dossier ( exemple : si A1= valeur1 la sauvegarde doit se faire sous C:\bm\valeur1\ feuil.xls si la valeur A1= valeur2
la sauvegarde doit se faire sous C:\bm\valeur2\feuil.xls etc....

En gros voici ma macro de base :

Private Sub CommandButton2_Click()

Dim departement As String
Dim service As String
Dim chemin As String
Dim fichier As String
Dim repertoire As String
chemin = "c:\bm\"
departement = Range("d1").Value
repertoire = Range("k1").Value
service = Range("e5").Value
fichier = departement & ".xls"
If Dir(chemin & repertoire, 16) = "" Then MkDir chemin & repertoire
ActiveWorkbook.SaveAs Filename:=chemin & "BM" & departement & service & "_" & Format(Now, "dd-mm-yy") & ".xls"
End Sub

Merci d'avance........
 
Re : macro sauvegarde sous dossier variable

Bonjour,

peut être en initialisant ton "chemin" ainsi :

Code:
chemin = "c:\bm\" & Range("a1").Value & "\"

Attention à adapter, je vois 2 fois le dossier "bm" dans tes lignes de code...

bonne journée
@+
 
Re : macro sauvegarde sous dossier variable

Merci de ta réponse,

la macro marche.

Private Sub CommandButton2_Click()

Dim departement As String
Dim service As String
Dim chemin As String
Dim fichier As String
Dim repertoire As String
Dim dossier As String
dossier = "c:\bm\"
chemin = "c:\bm\" & Range("k1").Value & "\"
departement = Range("d1").Value
repertoire = Range("k1").Value
service = Range("e5").Value
fichier = departement & ".xls"
If Dir(dossier & repertoire, 16) = "" Then MkDir dossier & repertoire
ActiveWorkbook.SaveAs Filename:=chemin & "BM" & departement & service & "_" & Format(Now, "dd-mm-yy") & ".xls"
End Sub

Par contre j'ai un probléme la fenetre du debogeur s'ouvre si j'enregistre le même fichier une deuxième fois et que je repond ne pas sauvegarder (écraser le précédent)......
Tu aurait une astuce ?
Encore merci
 
Re : macro sauvegarde sous dossier variable

Re

pour empêcher l'alerte :

Code:
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs toncheminnomfichier
Application.DisplayAlerts = True

mais le fichier sera remplacé d'office s'il existe déjà....

sinon tester s'il existe ...

Code:
If Dir(toncheminEtnomfichier) = "" Then _
    ActiveWorkbook.SaveAs tonchemiEtnnomfichier

ou bien rajouter l'heure minute seconde, cela contournerait le problème :

Code:
Filename:=chemin & "BM" & departement & service & "_" & Format(Now, "dd-mm-yy hh:mm:ss") & ".xls
@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
861
Réponses
3
Affichages
1 K
Réponses
3
Affichages
673
Retour