créer un nom de classeur avec date

br44

XLDnaute Impliqué
bonjour à tous ,


Voilà je viens vous voire pour savoire si il est possible de créer automatiquement des nom de classeur composès d'un nom+de la date ?


Cette date ayant pour rèfèrence un cellule dans mon cas ("f13") le but est d'obtenir le rèsultat suivant :

NomClasseur = Classeur20008.xls ,puis classeur2009.xls ect.....


Ces classeur devrons se coller dans le chemin suivant: "C:\RAPID\SAUVEGARDE\Archive FACTURE\ "

cette commande se situant dans un autres classseur à partir d'une commande boutton (de la macro pour l'exemple)

J'ai rèussi à copier plusieurs classeurs dans un chemin ,mais cela oblige à changer le nom du classeur manuellement à chaque nouvel enregistrement .


je mets ci-joint les trois classeurs avec la macro que je me sert en guise d'exmple . La macro est situer dans le Thisworbook du classeur 1

Ils se decomposent comme suit :

1 classeur1.xls =classeur de commande
2classuer2.xls = classeur à copier la date se situe au niveau "F3" de la feuil1
3 dossier sauv est le dossier devant recevoire les nouveaux classeurs .


Si quelqu'un peut m'aider à rèsoudre se petit problème je vous en remercie par avance et vous dis à bientôt sur se fil . Amicalement Br44
 

Pièces jointes

  • Classeur2.xls
    20 KB · Affichages: 40
  • sauv1.zip
    35 KB · Affichages: 21
  • Classeur1.xls
    29 KB · Affichages: 54
  • Classeur2.xls
    20 KB · Affichages: 44
  • sauv1.zip
    35 KB · Affichages: 25
  • Classeur1.xls
    29 KB · Affichages: 45
  • Classeur2.xls
    20 KB · Affichages: 49
  • sauv1.zip
    35 KB · Affichages: 21
  • Classeur1.xls
    29 KB · Affichages: 41
G

Guest

Guest
Re : créer un nom de classeur avec date

bonjour br44,

voici une macro (à mettre dans classeur1) qui enregistre le classeur2 dans le répertoire voulu avec son nom d'origine et l'année contenue en F3.

Remplacer ThisWorkbook par le chemin voulu (mettre un '\' en fin de chemin)

Code:
Sub EnregistrerClasseur2()
    Dim wk As Workbook
    Dim An As String
    Dim Nomfichier As String
    
    'récupère classeur2
    On Error Resume Next
    Set wk = Workbooks("Classeur2.xls")
    On Error GoTo 0
    
    'si classeur2 n'est pas ouvert on sort
    If wk Is Nothing Then Exit Sub 'Classeur pas ouvert
    
    'récupération de la date
    If IsDate(wk.Sheets("Feuil1").Range("F3")) Then
        An = CStr(Year(wk.Sheets("Feuil1").Range("F3")))
    End If
    Nomfichier = Split(wk.Name, ".")(0)
    Nomfichier = Nomfichier & An & ".xls"
    
    wk.SaveAs [COLOR=red]ThisWorkbook.Path [/COLOR]& "\sauv1\sauv2\" & Nomfichier
       
End Sub

A bientôt
 

br44

XLDnaute Impliqué
Re : créer un nom de classeur avec date

Re: Bonjour Hasco,le forum


Aprés avoir tester ta macro j'ai une mauvaise nouvelle elle ne fonctionne pas chez moi .


Je l'ai placé dans le Thisworkbook du classeur1 et dans un module est là nada,rien ne c'est passer aucun rèsulat .

Tu dis que ta macro fonction pour un classeur fermer .

Dans ma macro j'ouvre le classeur2 je le copie ,et je renome la copie pour la coller dans le chemin voulu . Jusque là ça va il me manque juste la partie pour créer les noms differants de fichier .

pourais-tu adapter la fin de ta macro à la mienne ? j'ai essayer de le faire mais les rèsultats ne sont pas concluant .


Te remerciant par avance je te dit à bientôt sur se fil . Amicalement br44
 

br44

XLDnaute Impliqué
Re : créer un nom de classeur avec date

Re:bonjour Hasco, le forum

Je vient faire un point sur mon problème . Bonne nouvelle il est en partie rèsolue .


J'ai bien rèussi à créer plusieur classeur en me basant sur la valeur d'une cellule .

le seul petit soussi ces que cette cellule est au format date . je voudrais savoir si il est possible de mettre un condition sur une cellule au format date ?


Je m'explique ,je voudrais que ma macro se déclanche de la manière suivante:

Si la date de la cellule "F3" de la feuille1 du classeur2* est ègal au 30 /12 /2008 alors déclance ma macro

*=partie à rajouter dans le classeur2

j'ai essayer avec un CDate(30/12 &Year(date))

mais je n'est pas de résultat de la copie ?


Voici ma macro modifièe si quelqu'un peut m'aider à la terminer se serais géniale .

Vous remerciant par avance du coup de main je vous dit à bientôt sur se fil . Amicalement Br44
 

Pièces jointes

  • Classeur1.xls
    32 KB · Affichages: 38
  • Classeur1.xls
    32 KB · Affichages: 48
  • Classeur1.xls
    32 KB · Affichages: 50
G

Guest

Guest
Re : créer un nom de classeur avec date

Hello Br,

La seule macro de ton fichier, n'a rien à voir avec le problème me semble-t-il!

Code:
Sub macro1()
'
' macro1 Macro
' Macro enregistrée le 28/06/2008 par rimmele
'
' Touche de raccourci du clavier: Ctrl+b
'
    Application.CommandBars("Task Pane").Visible = False
    Application.WindowState = xlMinimized
    Application.WindowState = xlNormal
    Range("C13:C14").Select
    Range("C14").Activate
    ChDir "C:\Documents and Settings\Rimmele\Bureau\sauv1\sauv2"
End Sub

?????

A bientôt
 

br44

XLDnaute Impliqué
Re : créer un nom de classeur avec date

Re:Bonsoir Hasco,le forum


Dèsoler mais j'oublier de suprimer les modules:D:D:p . regarde maitenant la macro est dans le thisworkbook .


Je te dis à plus et merçi pour le temp consacrè . Amicalement Br44
 
G

Guest

Guest
Re : créer un nom de classeur avec date

Re Br,

Voici:

Code:
D=cdate("30/12/" & year(date))
Il faut passer une chaine de caractère à la fonction CDate.

Dans ton code tu peux simplifier en faisant:

Code:
If cdate("30/12/" & year(date)) = Date() then 
......
End if

A bientôt
 

br44

XLDnaute Impliqué
Re : créer un nom de classeur avec date

Re: Rebonsoir à tous ,


Bon j'ai fais la modif mais rien ne se passe je n'est toujour pas de copie de créer ?

Si tu as une solution je suis preneur à plus .Amicelement Br44
 

br44

XLDnaute Impliqué
Re : créer un nom de classeur avec date

Re:Bonjour Staple160,Hasco,le forum


Un grand merçi à toi Staple160 pour cette macro . Si tu pouvais m'expliquer à quoi ça correspond ,cela m'aidrais à comprendre le principe de cette dernière ?


Je teste et te tient au courant .A plus et à bientôt . Amicalement BR44
 

br44

XLDnaute Impliqué
Re : créer un nom de classeur avec date

Re: rebojour à tous ,


Staple160 : je viens de tester ta macro qui apparament fonctionne le seul soussi est qu'une fois cliquer sur le "OK" du msgbox et que je verifie le chemin le clsasseur est vide ?


Si tu peux me dire si c'est normal où pas se serais bien . je te remercie par avance et te dis à plus . Amicelement Br44
 

br44

XLDnaute Impliqué
Re : créer un nom de classeur avec date

Re: Salut Staple 160,Hasco,le forum


Stample 160 : Merçi pour ton fichier et pour la macro .


J'ai une petite question peut -on declare la partie suivante en variable :

Replace (Range("A1").text)

Puis extraire simple que l'année ?

Exemple :

Range("A1") = 01/07/2008 en format date à passer en format texte :

Replace (Range("A1").text)

en extraire que "2008"

puis rajouter cette année comme fin de non de fichier afin obtenir :

classeur2008 .xls


si tu peux me donner une tel procèdure se serai génial . Te remerciant par avance je te dit à plus .Amicalement BR44
 

Staple1600

XLDnaute Barbatruc
Re : créer un nom de classeur avec date

Re


A adapter à tes souhaits
Code:
Sub TESTb()
Dim Strg As String
Dim strg_FIN As String
Dim Nom_Fic As String
Strg = Range("A1").Text ' En A1 une date (au format date)
strg_FIN = "_ " & Year(Range("A1").Text) & ".xls"
Nom_Fic = "Ici le nom que tu souhaites" & strg_FIN
MsgBox "Exemple obtenu:" & Chr(13) & Chr(13) _
& Nom_Fic, vbExclamation, "Exemple d'un nom de fichier"
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 816
Messages
2 092 360
Membres
105 378
dernier inscrit
y07