Faire une sauvegarde "renommée" d'un fichier
Résolu
geo3701
Messages postés
58
Date d'inscription
Statut
Membre
Dernière intervention
-
geo3701 Messages postés 58 Date d'inscription Statut Membre Dernière intervention -
geo3701 Messages postés 58 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Faire une sauvegarde "renommée" d'un fichier
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Logiciel de sauvegarde gratuit - Guide
- Fichier rar - Guide
6 réponses
Bonjour Geo, bonsjour le forum,
Non il ne te renomme pas le fichier si tu veux pas !
Essaie comme ça :
Non il ne te renomme pas le fichier si tu veux pas !
Essaie comme ça :
Public Sub CopieFich()
Dim NC As String
NC = "C:\Ton_dossier\Ton_sous_dossier\" & ThisWorkbook.Name
ThisWorkbook.SaveAs (NC)
End Sub
Je me suis mal exprimé.
Finalement, ce que je veux faire, c'est continuer à travailler avec ce fichier, mais avant de faire tourner mes macros, je veux en créer une copie, automatiquement, dans un dossier d'archive, et en changeant son nom, à savoir ajouter la date du jour...
Je ne sais pas si c'est plus clair comme ça?
Finalement, ce que je veux faire, c'est continuer à travailler avec ce fichier, mais avant de faire tourner mes macros, je veux en créer une copie, automatiquement, dans un dossier d'archive, et en changeant son nom, à savoir ajouter la date du jour...
Je ne sais pas si c'est plus clair comme ça?
Bonjour Geo, bonjour le forum,
Code à placer dans le composant ThisWorkbook :
Code à placer dans le composant ThisWorkbook :
Private Sub Workbook_Open() 'à l'ouverture du classeur
Dim CH As String 'déclare la variable CH (CHemin d'accès)
Dim N As String 'déclare la variable N (Nom)
Dim D As String 'déclare la variable D (Date)
Dim NN As String 'déclare la variable NN (Nouveau Nom)
Dim CO As Workbook 'déclare la variable CO (Classeur Origine)
Dim NC As Workbook 'déclare la variable NC (Nouveau Classeur)
CH = "C\Archivage\" 'à adapter
N = Split(ThisWorkbook.Name, ".")(0) & "_" 'définit le nom N (le nom du classeur sans l'extention + underscore (_)
D = CStr(Day(Date)) & "_" & CStr(Month(Date) & "_" & CStr(Year(Date))) 'définit la date D (séparée par underscore (_))
NN = CH & N & D & ".xlsm" 'définit le nouveau nom NN avec le chemin complet
Set CO = ThisWorkbook 'définit le classeur d'origine CO
CO.SaveAs (NN) 'enregistre sous le classeur d'origine
Set NC = ActiveWorkbook 'définit le nouveau classeur NC
Workbooks.Open (NO) 'ouvre le classeur d'origine
NC.Close SaveChanges:=True 'ferme le nouveau classeur NC
End Sub
Merci,
Tout se passe bien jusqu'à:
Workbooks.Open (NO) 'ouvre le classeur d'origine
"Erreur d'exécution '438':
Propriété ou méthode non gérée par cet objet".
J'ai changé "NO" par "CO", pensant que c'est une coquille, mais cela ne fonctionne pas non plus.
Dernier petit effort =D Sinon c'est parfait.
Tout se passe bien jusqu'à:
Workbooks.Open (NO) 'ouvre le classeur d'origine
"Erreur d'exécution '438':
Propriété ou méthode non gérée par cet objet".
J'ai changé "NO" par "CO", pensant que c'est une coquille, mais cela ne fonctionne pas non plus.
Dernier petit effort =D Sinon c'est parfait.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour Geo, bonjour le forum,
Voici le code modifié qui devrait convenir :
Voici le code modifié qui devrait convenir :
Private Sub Workbook_Open() 'à l'ouverture du classeur Dim CO As Workbook 'déclare la variable CO (Classeur Origine) Dim CH As String 'déclare la variable CH (CHemin d'accès) Dim N As String 'déclare la variable N (Nom) Dim D As String 'déclare la variable D (Date) Dim NN As String 'déclare la variable NN (Nouveau Nom) Set CO = ThisWorkbook 'définit le classeur d'origine CO CH = "C\Archivage\" 'à adapter N = Split(CO.Name, ".")(0) & "_" 'définit le nom N (le nom du classeur sans l'extention + underscore (_) D = CStr(Day(Date)) & "_" & CStr(Month(Date) & "_" & CStr(Year(Date))) 'définit la date D (séparée par underscore (_)) NN = CH & N & D & ".xlsm" 'définit le nouveau nom NN avec le chemin complet CO.SaveCopyAs (NN) 'enregistre une copie du classeur d'origine en gardant le classeur d'origine ouvert et sans ouvrir la copie End Sub