Enregistrer un classeur dans le bon dossier

Résolu/Fermé
thechoux Messages postés 24 Date d'inscription lundi 27 janvier 2014 Statut Membre Dernière intervention 23 septembre 2015 - 9 juil. 2014 à 10:56
thechoux Messages postés 24 Date d'inscription lundi 27 janvier 2014 Statut Membre Dernière intervention 23 septembre 2015 - 21 juil. 2014 à 15:56
Bonjour,

A partir d'un tableau, je souhaite, pour chaque ligne de celui-ci, créer un fichier et l'enregistrer dans un dossier qui correspond à la valeur d'une cellule de la ligne.

Par exemple si dans la ligne 8 j'ai la valeur E1-5-52-A dans la colonne 2, je dois enregistrer le fichier dans le dossier cheminabsolu/E1/E1552A/

Mon idée première est de créer un fichier type : exemple Fichier_Type, et pour chaque ligne du tableau le modifier puis faire un enregistrer sous dans le bon dossier.

J'ai déjà codé tout ce qui est mise en forme du Fichier type, il ne me reste plus qu'à savoir comment trouver le dossier où l'enregistrer.

Merci d'avance

A voir également:

1 réponse

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 10/07/2014 à 09:31
Bonjour

Il manquait quelques renseignements dans ta demande: j'ai donc considéré qu'il pouvait y avoir plusieurs classeurs dans le sous dossier demandé en B8 mais que l'on avait l'adresse du dossier toujours en B8


Option Explicit
'------
Sub test()
Sauvegarder_dans_dossier ("zaza32.xlsm")
End Sub

Function Sauvegarder_dans_dossier(classeur)
Dim Chemin As String, T_adresse, Signe As Byte, Etage1 As String, Etage2 As String

With ActiveWorkbook
Chemin = "D:\documents\" ' A adapter au contexte
ChDir Chemin

T_adresse = Split(Sheets(1).Range("B8"), "-")
Etage1 = T_adresse(0)
On Error Resume Next 'gestion etage1 existant
MkDir Etage1
On Error GoTo 0
ChDir Etage1

For Signe = 1 To UBound(T_adresse)
Etage2 = Etage2 & T_adresse(Signe)
Next
On Error Resume Next
MkDir Etage2
On Error GoTo 0
'Chemin = Chemin & Etage1 & "\" & Etage2 & "\"
ChDir Etage2

.SaveAs Filename:=classeur
MsgBox classeur & " enregistré dand le dossier " & Chemin & Etage1 & "\" & Etage2 & "\"
End With
End Function

Michel
0
thechoux Messages postés 24 Date d'inscription lundi 27 janvier 2014 Statut Membre Dernière intervention 23 septembre 2015 1
21 juil. 2014 à 15:56
Super ça marche ! Merci beaucoup !
0