Sauvegarder un fichier en modifiant son nom automatiquement tous les mois

roulax

XLDnaute Nouveau
Bonjour,

Petite Question :

Je voudrais enrengistrer un fichier en lui donnant le nom suivant :
CR ACC juin09tojuillet10 ou le format CR ACC 06-09to07-10 si c'est plus simple

La première partie du nom CR ACC devrait rester la même mais, la suite devrait évoluer chaque mois : juin09tojuillet10 à juillet09toaout10 par exemple.

Est-ce possible en vba ?

Je voudrais aussi pouvoir spécifier le dossier de destination de mon enrengistrement, qui doit pouvoir évoluer.

Quelqu'un peut-il m'aider ? :)
 

tototiti2008

XLDnaute Barbatruc
Re : Sauvegarder un fichier en modifiant son nom automatiquement tous les mois

Bonjour roulax,

oui on peut
Comment détermines-tu les mois ? en fonction de la date en cours ? en fonction de dates contenues dans des cellules ?
Comment peut évoluer ton dossier de destination ?
 

roulax

XLDnaute Nouveau
Re : Sauvegarder un fichier en modifiant son nom automatiquement tous les mois

Bjr tototiti2008,

On peut déterminer le mois en fonction du mois en cours dans le nom de mon fichier :
CR ACC juin09tojuillet10
Ce nom représente la période des 12 mois précédent du mois en cours.
juillet10 ou 07/10 est le mois en cours
juin09 ou 06/09 : 12 mois avant

le nom de mon fichier doit évoluer de la façon suivante :
CR ACC juillet09toaout10 ou CR ACC 07-09to08-10
CR ACC aout09toseptembret10 ou CR ACC 08-09to09-10
etc...

Pour le dossier de destination, j'aimerais avoir une variable pour pouvoir le modifier facilement, je devrais peut-être le changé de répertoire ou de lecteur réseau
Soit une variable sur ma feuille de calcul.
Soit directement dans le code vba.
 

tototiti2008

XLDnaute Barbatruc
Re : Sauvegarder un fichier en modifiant son nom automatiquement tous les mois

Re,

à tester, si dossier de destination en A1

Code:
Sub EnregFic()
Dim DossierDest As String, DateDeb As Date
    DossierDest = Range("A1").Value
    DateDeb = DateSerial(Year(Date) - 1, Month(Date) - 1, 1)
    ThisWorkbook.SaveAs Filename = DossierDest & "CR ACC " & Format(DateDeb, "MM-YY") & " to " & Format(Date, "MM-YY") & ".xls"
End Sub
 

roulax

XLDnaute Nouveau
Re : Sauvegarder un fichier en modifiant son nom automatiquement tous les mois

Re tototiti2008,

Je viens d'essayer ce code.
J'ai mis l'adresse de destination en A1 au format C:\Documents and Settings\lbhkh\Bureau\
Il enrengistre mon fichier dans mes documents avec le nom False.
 

tototiti2008

XLDnaute Barbatruc
Re : Sauvegarder un fichier en modifiant son nom automatiquement tous les mois

Re,

Oups, j'ai oublié un ":"

Code:
Sub EnregFic()
Dim DossierDest As String, DateDeb As Date
    DossierDest = Range("A1").Value
    DateDeb = DateSerial(Year(Date) - 1, Month(Date) - 1, 1)
    ThisWorkbook.SaveAs Filename [B][COLOR=red]:[/COLOR][/B]= DossierDest & "CR ACC " & Format(DateDeb, "MM-YY") & " to " & Format(Date, "MM-YY") & ".xls"
End Sub
 

roulax

XLDnaute Nouveau
Re : Sauvegarder un fichier en modifiant son nom automatiquement tous les mois

Re,

ça fonctionne correctement,
Merci !

J'ai essayé de mettre le dossier de destination dans le code, mais ça ne tourne pas :mad:

Dim DossierDest As String, DateDeb As Date
DossierDest = C:\Documents and Settings\lbhkh\Bureau\macro analysis\fichier CR\
DateDeb = DateSerial(year(Date) - 1, Month(Date) - 1, 1)
ThisWorkbook.SaveAs FileName:=DossierDest & "CR ACC " & Format(DateDeb, "MM-YY") & " to " & Format(Date, "MM-YY") & ".xls"

Un dernier conseil ?
 

tototiti2008

XLDnaute Barbatruc
Re : Sauvegarder un fichier en modifiant son nom automatiquement tous les mois

Re,

les chaines de caractères (String) doivent être entourées de guillemets

Code:
[B]DossierDest = "C:\Documents and Settings\lbhkh\Bureau\macro analysis\fichier CR\"[/B]
 

roulax

XLDnaute Nouveau
Re : Sauvegarder un fichier en modifiant son nom automatiquement tous les mois

Bonjour,

un nouveau petit problème qui concerne le même sujet.

Après avoir sauvegarder mon fichier grâce au code de tototiti2008, je voudrais copier le nom de ce fichier sauvegarder dans une cellule de ma feuille de calcul pour pouvoir l'utiliser comme varaible dans une autre macro.

J'ai testé avec ce code, sans résultats!

ThisWorkbook.Sheets("Feuil2").Activate
Name = DossierDest & "CR ACC " & Format(DateDeb, "MM-YY") & " to " & Format(DateFin, "MM-YY") & ".xls"
Range("I4").Activate
ActiveCell.Value = Name.Value



J'espère que ma question est claire.
 

tototiti2008

XLDnaute Barbatruc
Re : Sauvegarder un fichier en modifiant son nom automatiquement tous les mois

Bonjour Roulax,

un essai

Code:
Dim DossierDest As String, DateDeb As Date, NomFic as String
[B]DossierDest = "C:\Documents and Settings\lbhkh\Bureau\macro analysis\fichier CR\"[/B]
DateDeb = DateSerial(year(Date) - 1, Month(Date) - 1, 1)
NomFic = "CR ACC " & Format(DateDeb, "MM-YY") & " to " & Format(Date, "MM-YY") & ".xls"
ThisWorkbook.SaveAs FileName:=DossierDest & NomFic
Range("I4").Value = [B]DossierDest[/B]  & NomFic

La propriété.Value ne s'applique qu'aux Objets
Name est un nom réservé en VBA, il y a des objets Name et des Propriétés Name
 

Statistiques des forums

Discussions
312 503
Messages
2 089 053
Membres
104 013
dernier inscrit
VELONDAHY Mickaël