Configurer un "SaveAs"

romainchu78

XLDnaute Occasionnel
Bonjour a tout le forum,

J'ai trouve cette procedure pour appeler une boite de dialogue de sauvegarde de maniere a sauver un fichier.
le probleme avec cette procedure c'est que je lorsque je veux recuperer le chemin complet du fichier sauve, il conserve seulement celui du premier fichier.
par exemple, si je sauve un autre fichier, il m'affichera toujours le chemin et le nom du premier fichier enregistre.

Ce que je souhaiterais a faire est de recuperer le chemin du nouveau fichier mais aussi le nom.

Sub SaveAs()
SendKeys ("test.xls")
Application.Dialogs(xlDialogSaveAs).Show
'MsgBox Application.FileDialog(msoFileDialogFilePicker).InitialFileName
'MsgBox Application.FileDialog(msoFileDialogFilePicker).SelectedItems(1)
'MsgBox Application.FileDialog(msoFileDialogFolderPicker).InitialFileName
'MsgBox Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1)
End Sub

et la je suis dans l'impasse..

cordialement,

Romain
 

ERIC S

XLDnaute Barbatruc
Re : Configurer un "SaveAs"

Bonjour

je ne comprends pas trop ce que tu veux faire

il existe les saveas mais pour moi il ne s'agit pas de boites de dialogue

tu peux aussi utiliser le
application.dialogs(xldialogopen).show
ou
application.getsaveasfilename,

combinées avec un chdir
 

romainchu78

XLDnaute Occasionnel
Re : Configurer un "SaveAs"

Le code ci-dessous: "Dialogs(xlDialogSaveAs)" permet d'afficher une boite de dialogue windows permettant la sauvegarde d'un fichier avec la possiblite de choisir le nom du fichier et le repertoire de destination, le tout integre dans en un seul outil.

Une fois l'enregistrement termine, je souhaite recuperer dans un variable tiers, le nom du nouveau fichier enegistrer.

Actuellement, je ne sais pas recuperer le nom du fichier:

Sub SaveAs()
SendKeys ("test.xls")
Application.Dialogs(xlDialogSaveAs).Show
End Sub

Voila... Merci pour ton aide. (Myta je ne t'ai pas oublie, j'essaye seulement d'avoir plusieurs possiblites de maniere a avoir plus de flexibilite).
 

ERIC S

XLDnaute Barbatruc
Re : Configurer un "SaveAs"

re

je pense qu'il faut regarder du côté de

application.getsaveasfilename qui ouvre une boite mais n'effectue pas la sauvegarde

syntaxe à vérifier mais du genre
chdir .......
sauve=application.getsaveasfilename(.....)
if sauve=false then exit sub
workbook.save filename:=sauve

du coup tu dois récupérer le nom par sauve
 

romainchu78

XLDnaute Occasionnel
Re : Configurer un "SaveAs"

Ok, j'ai essaye avec ceci, mais jai un message d'erreur sur le ligne:
"Workbook.Save Filename:=sauve"

Sub Macro1()
sauve = Application.GetSaveAsFilename
If sauve = False Then Exit Sub
Workbook.Save Filename:=sauve
MsgBox sauve
End Sub


please help
 

romainchu78

XLDnaute Occasionnel
Re : Configurer un "SaveAs"

Avec le code ci-dessous, j'affiche une boite de dialogue qui permet a l'utilisateur de selectionner un repertoire et de choisir un nom pour le nouveau fichier a enregistrer.
Le probleme est que, par default, c'est le nom du workbook qui est affiche dans la boite de dialogue. Et en realite, pour les besoins de mon projet, j'ai besoin que le nom propose par default soit un des noms appartenant a l'une de mes feuilles de mon fichier excel principale.

fileSaveName = Application.GetSaveAsFilename(fileFilter:="Excel Files (*.xls), *.xls")

Par la suite, comme me l'ont presente auparavent myta et eric du forum, il est aisement facile d'utiliser ces infos collecte pour les reutiliser de maniere a creer le nouveau fichier.

Mais j'ai absoluement besoin d'afficher par default le nom d'une feuille excel et non pas le nom de mon fichier. ce qui reviens a proposer par default a l'utilisateur de copier la feuille excel du fichier principale dans un nouveau fichier excel qui portera le meme nom que la feuille excel.


bon week-end a tous
 
Dernière édition:
M

Mytå

Guest
Re : Configurer un "SaveAs"

Salut Romainchu, Eric et le forum

Pour donner le chemin et le nom de la feuille

Nom = "C:\Excel\" & ActiveSheet.Name & ".xls"

FichierCible = Application.GetSaveAsFilename(Nom, fileFilter:="Excel Files (*.xls), *.xls")
MsgBox FichierCible

If FichierCible <> False Then
ActiveWorkbook.SaveAs FichierCible
'ActiveWorkbook.Close
End If

Mytå
 
Dernière modification par un modérateur:

Discussions similaires

Réponses
1
Affichages
296
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 198
Messages
2 086 153
Membres
103 135
dernier inscrit
Imagine