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

macro sauvegarde sous dossier variable

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........
 

Pierrot93

XLDnaute Barbatruc
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
@+
 

dav06200

XLDnaute Nouveau
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
 

Pierrot93

XLDnaute Barbatruc
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
@+
 

Discussions similaires

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