Sauvegarder un fichier dans un autre répertoire par macro

Ab68 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonsoir le forum
Je suis un débutant en création de macro, glanant ici et là les codes ou en enregistrant les actions sous Excel.
Mon fichier initial est enregistré dans D:\Mes documents\CCS\"Compil randos printemps".
Ce fichier reçoit des valeurs de 4 autres fichiers à dates espacées avec sauvegardes intermédiaires manuelles(OK). Je galère pour -après la 4ième saisie, un tri décroissant et suppression de lignes vides(OK)- à sauvegarder ce fichier dans un sous répertoire.Le chemin souhaité serait D:\Mes documents\CCS\2013\"nom de fichier+2013".xls (2013 étant un sous dossier existant). Si sous dossier inexistant, en fonction de ("G1")(cellule formatée date année), création d' un sous répertoire à D:\.......\CCS\.
Voici le code sur lequel je bute
Dim chemin As String
Dim repertoire As String
Nom = Range("A1")
Année = Range("G1")
chemin = "D:\Mes documents\CCS\" & Range("G1").Value & ""
repertoire = Range("G1").Value
ActiveWorkbook.SaveCopyAs ActiveWorkbook.Path \ "& Nom & Année"
If Dir(chemin & repertoire, 16) ="" Then MkDir "D:\Mes documents\CCS\" & Range("G1").Value
Un grand Merci à ceux qui prendront le temps de me lire et m' apporter éventuellement une solution.
Joyeuses Pâques
A voir également:

5 réponses

Ab68 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour lermitte222
En copiant le code dans le haut du module et seulement ce code, je reçois le msg Erreur de compilation: Instruction incorrecte à l' extérieur d'une procédure à la ligne : NvRep = "D:\ Mes documents etc...
Merci pour la rapidité de ta réponse à ma première sollicitation.
Bonne journée
0
Ab68 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Oui je viens de refaire l' essai, En première ligne : Private Declare Function etc.
puis les 3 lignes : Dim NvRep
NvRep = "D:\Mes documents
MakeSure
et terminer par End Sub
(les instructions ont été copiées collées)
0
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention  
 
Bonjour,
ActiveWorkbook.SaveCopyAs ActiveWorkbook.Path & "\" & Nom & Année & ".xls"

Pour créer ou pas le répertoire,
Tu colle cette déclaration tout en haut du module
Private Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" (ByVal lpPath As String) As Long

Ensuite tu remplace la ligne..
If Dir(chemin & repertoire, 16) ="" Then MkDir "D:\Mes documents\CCS\" & Range("G1").Value

Par
dim NvRep as string   
    NvRep = "D:\Mes documents\CCS\" & Range("G1").Value   
    MakeSureDirectoryPathExists NvRep  'Si existe..fait rien sinon le/les crée(s).

Mais attention !! normalement il n'y a pas de répertoire Mes documents sur le D:\
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Note: Je ne répond pas aux MP pour les questions techniques. Et ma boule de cristal est cassée .
-1
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention  
 
En copiant le code dans le haut du module et seulement ce code, ????
Relis mon poste précédant AVEC ATTENTION SVP.


-1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention  
 
Eh ben ça alors.. Faudrait quand même que tu apprenne à lire

Ensuite tu remplace la ligne.. Remplacer ça veux dire quoi ?
ça veux dire supprimer les lignes décrite et mettre A LA MEME PLACE les autre ligne.
Et y faut pas ajouter de End sub nulle part.
Difficile d'expliquer plus, apprend aussi les structures d'un code VBA. Sans ça tu n'ira pas loin.
A+
-1