Macro:Enregistrer dans un dossier choisi

stefVB_Excel

XLDnaute Junior
j'ai fais un modèle de classeur, ce que je voudrais, que l'enregistrement ce fasse dans un dossier choisi pour stocker les documents renommé de façon auto sans invite de destination. j'ai essayé en utilisant DisplayAlert=False & True en indiquant le chemin précis. il doit y avoir un soucis qque part ou de mise en forme VBA ou?
voici ce que j'ai fais pour le moment


Public Sub Saveascopy()

'macro par StefVB_Excel
'
Dim sheets As Areas
For Each f In Parent.Worksheets
Worksheets("livraison du").Select '(selectionne l'onglet "livraison du"avant l'enregistrement et de quitter pour que l’ouverture ce fasse sur cette Feuil)
Range("a1").Select
Next
chemin = "c:"
ActiveWorkbook.SaveAs chemin & Format(Date, "dd\-mm\-yy\-dddd_") & "CommandesJour" & ".xls" ‘(j+m+a+jour sem_+nom)
Dim w As Workbook
For Each w In Application.Workbooks
w.Save '(sauve dans mes docs, chemin par defaut de l'application)
Next w
Application.Quit

End Sub
 

Dan

XLDnaute Barbatruc
Re : Macro:Enregistrer dans un dossier choisi

Bonjour,

A la vue de ta macro, je pense que ce serait bien que tu expliques ce que tu veux faire. Sauver une feuille dans un répertoir bien précis ?

Sinon essaye :
Dans le chemin --> chemin = "c:\"
Dans ActiveWorkbook.SaveAs --> chemin & Format(Date, "dd-mm-yy-dddd_") & "CommandesJour" & ".xls"

Amicalement

Dan
 

stefVB_Excel

XLDnaute Junior
Re : Macro:Enregistrer dans un dossier choisi

J'ai un Modèle de classeur vierge de plusieurs Feuil, que j'ouvre qui me nomme par defaut NOM1, j'ai un bouton sur une feuil qui me renomme le classeur en"date du jour + jour sem_NOM" et une fois nommé je voudrais qu'il soit enregistré automatiquement dans un dossier ex:
c:\public\commandes 2008\Janvier 2008:le classeur xls sans que je sois invité à l'enregistrer dans ou sous xDossier

la macro actuelle me fais déja le nom mais sauvegarde le classeur renommé dans mes docs chemin par defaut d'Excel

j'espère mettre bien expliqué

merci

stef
 

Dan

XLDnaute Barbatruc
Re : Macro:Enregistrer dans un dossier choisi

re,

Bon il faut dire que je ne comprends ta macro par rapport à ton pb.
Sur base de tes explications, essaye plutôt ceci :
Code:
Sub Saveascopy()
Dim chemin As String
'macro par StefVB_Excel
Thisworkbook.sheets("livraison du").Copy
chemin = "c:\public\commandes 2008\Janvier 2008\"
ActiveWorkbook.SaveAs chemin & Format(Date, "dd-mm-yy_dddd") & "_CommandesJour" & ".xls"
Application.displaylaerts = False
ThisWorkbook.Close
End Sub
Remplace c:\public\commandes 2008\Janvier 2008\ par le chemin exact.

A te relire

Dan
 

stefVB_Excel

XLDnaute Junior
Re : Macro:Enregistrer dans un dossier choisi

Dan,


j'étais presque dans le bon sauf que j'ai fais une erreur de frappe sur le nom du Dossier de destination mais cela fonctionne.
voici donc :donc je résume j'ai un modèle .xlt que j'ouvre qui sera renommé par click sur le bouton et enregistré en .xls avec date du jour etc... que je pourrais modifier à souhait. un classeur / jour
merci en tout cas je vais de ce pas aller bosser un peu

au plaisir
stef

Code:
Sub Saveascopy()

'macro par StefVB_Excel
'
Dim sheets As Areas
For Each f In Parent.Worksheets
Worksheets("livraison du").Select '(selectionne l'onglet "livraison du"avant l'enregistrement et de quitter pour que l'ouverture ce fasse sur cette Feuil)
Range("a1").Select
Next
chemin = "c:\public\commandes 2008\Juillet 2008\"
ActiveWorkbook.SaveAs chemin & Format(Date, "dd\-mm\-yy\-dddd_") & "CommandesJour" & ".xls" '(j+m+a+jour sem_+nom)
Dim w As Workbook
 For Each w In Application.Workbooks
  w.Save '(sauve dans mes docs, chemin par defaut de l'application)
    Next w

 Application.Quit

End Sub
 

Dan

XLDnaute Barbatruc
Re : Macro:Enregistrer dans un dossier choisi

re,

Ok si tout va bien.
Toutefois, je ne vois toujours pas à quoi servent certaines instructions dans le code que tu donnes.
Pour faire ce que tu viens d'expliquer, tu peux prendre le code que je t'ai donné qui est plus court.

Evite aussi l'application.quit qui est une instruction qui te ferme Excel. Si tu as d'autres documents ouverts sur lesquels tu as fait des modif, ben tu perds tout.
Utilise plutôt Thisworkbook.close qui ne fermera que le classeur .xlt.

Amicalement

Dan
 

stefVB_Excel

XLDnaute Junior
Re : Macro:Enregistrer dans un dossier choisi

:D je fais le nécessaire pour thisworkbook mais pour l'instruction dim...areas est pour que le classeur s'ouvre sur cette feuil ou j'ai mis le bouton pour l'enregistrement.

pour quit c'est vrai j'en ai fait l'experience et je vais voir si je laisse ou pas mes collègues utilisent aussi le classeur je ne veux pas qu'ils modifient le xlt

je vais essayer de l'améliorer encore et te ferais signe si besoin.

Stef
 

Dan

XLDnaute Barbatruc
Re : Macro:Enregistrer dans un dossier choisi

Re,

si tu veux que ton classeur s'ouvre sur la feuille Livraison du, tu mets cette macro dans THISWORKBOOK
Code:
Private Sub Workbook_Open()
sheets("livraison du").Activate
End sub
Par contre, tes macros actuelles doivent être placées dans un module et non dans Thisworkbook comme je le vois dans ton fichier.

Amicalement

Dan
 

stefVB_Excel

XLDnaute Junior
Re : Macro:Enregistrer dans un dossier choisi

bonjour Dan


oui pour le module c'est fait et je laisse pour le moment avec ta formule plus court.
cela fonctionne bien pour le moment et je ferais évoluer la chose un peu plus tard.
la saison démarre pour moi "cuisinier" oblige.

lorsque l'on fait des tests est ce important pour le fonctionnement que cela soit dans un module ou pas?

merci et bon Week End

stef
 

Dan

XLDnaute Barbatruc
Re : Macro:Enregistrer dans un dossier choisi

Re,

Pour les tests il vaut mieux mettre les codes dans un module car tu peux suivre plus facilement leur évolution. Une autre solution est de mettre des points d'arrêt (positionné sur la ligne de code --> appuie F9) pour vérifier comment se comporte le code.

Bonne journée

Dan
 

Discussions similaires

Statistiques des forums

Discussions
312 410
Messages
2 088 163
Membres
103 752
dernier inscrit
FG2