afficher boite de dialogue pour sauvegarder

romainchu78

XLDnaute Occasionnel
Bonsoir a tous,

je souhaiterais afficher une boite de dialogue pour sauvegarder un fichier a partir de mon fichier principale.
Je ne parle pas du "saveas" mais bien de la boite de dialogue windows standard qui permet a la fois de selectionner le nom du fichier mais aussi de choisir le repertoire de destination.

bonne soiree a tout le forum,
 

romainchu78

XLDnaute Occasionnel
Re : afficher boite de dialogue pour sauvegarder

super c'est ce que je cherchai.
par hasard sais tu comment sauvegarder un onglet excel dans un nouveau fichier excel a l'aide de cette boite de dialogue ?
car je souhaite l'utiliser pour enregistrer non pas mon fichier excel principale mais un onglet du fichier principale dans une nouveau fichier excel.

merci pour ton aide
 

romainchu78

XLDnaute Occasionnel
Re : afficher boite de dialogue pour sauvegarder

Grace a ceci: "Sheets("Feuil1").Copy
ActiveWorkbook.SaveAs Filename:="C:\Excel\Nom.xls"

je vais pourvoir sauver ma feuille excel dans un nouveau fichier, mais le repertoire est definis a l'avance, comment faire pour que l'utilisateur le choisis lui-meme (comme avec le "Application.Dialogs(xlDialogSaveAs).Show" finalement)

merci pour ton aide Myta
 
M

Mytå

Guest
Re : afficher boite de dialogue pour sauvegarder

re Romainchu78

Comme ceci ?

PHP:
Sub copier_save()
Sheets("Feuil1").Copy
With ActiveWorkbook
Application.Dialogs(xlDialogSaveAs).Show
End With
End Sub

Mytå
 
M

Mytå

Guest
Re : afficher boite de dialogue pour sauvegarder

re Romainchu78

Une petite modification pour fermer le classeur créer

PHP:
Sub copier_save()
Sheets("Feuil1").Copy
With ActiveWorkbook
Application.Dialogs(xlDialogSaveAs).Show
.Close
End With
End Sub

Mytå

P.S. merci pour les remerciments et oups mon 500 ième approche, et pas de barbatruc de prêt !
 
Dernière modification par un modérateur:

romainchu78

XLDnaute Occasionnel
Re : afficher boite de dialogue pour sauvegarder

Si c'est pas trop de travail Myta. comment peux t'on definir par default le nom du nouveau fichier excel avec le meme nom que la feuille excel?
(par default ce qui s'affiche dans la boite de dialogue windows a la place de book1.xls.
merci encore
 
M

Mytå

Guest
Re : afficher boite de dialogue pour sauvegarder

Salut le forum

Romainchu78 ceci devrait convenir

PHP:
Sub copier_save()
 
Dim Nom As String
 
Nom = ActiveSheet.Name & ".xls"
ActiveSheet.Copy
 
With ActiveWorkbook
  Application.Dialogs(xlDialogSaveAs).Show arg1:=Nom
  .Close
End With
 
End Sub

Mytå
 

romainchu78

XLDnaute Occasionnel
Re : afficher boite de dialogue pour sauvegarder

Myta, apres avoir integre ton code dans le miens, J'aurais encore deux demande a faire sur ton code. Je me permet de te resolliciter si tu le veux bien.

Nom = ActiveSheet.Name & ".xls"
ActiveSheet.Copy
With ActiveWorkbook
Application.Dialogs(xlDialogSaveAs).Show arg1:=Nom
End With
Workbooks("FichierPrincipale").Activate
Sheets("comparison").Delete

POUR INFO: ActiveSheet.Name = "comparison"

Tout ceci marche tres bien a condition que l'utilisateur enegistre bien son fichier.
Mais maintenant si l'utilisateur annule son action au dernier moment. Cad s'il quitte la boite de dialogue windows et decide de ne pas sauvegarder, alors le nouveau fichier excel avec l'unique feuille excel reste affiche quant meme avec un nom par default comme par exemple "book2".
Ma question: comment faire pour qu'il efface automatiquement ce nouveau fichier excel si l'utilisateur annule ou ferme la boite de dialogue sauvegarder sous?

Deuxieme question: je prefererais que seulement le type de fichier excel soit affiche dans la boite de dialogue SAVEAS TYPE et non pas comme actuellement un peu de tous (fichiers xls, txt, html, xlm, etc...).

Troisieme question pendant qu'on y est: comment aficher par default le repertoire "Mes Documents" dans la boite de dialogue?


Apres tout ca promis j'arrete les questions dessus...
bonne soiree,
romain
 

Discussions similaires

Statistiques des forums

Discussions
312 103
Messages
2 085 322
Membres
102 862
dernier inscrit
Emma35400