Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Ouvrir fenêtre SaveAs sur dossier spécifique

7 réponses
Avatar
Steph
Bonjour,

J'essaye via macro d'ouvrir une fenêtre SaveAs pour pouvoir sauvegarder le
fichier ouvert vers un dossier bien spécifique.
Je veux absolument passer par la fenêtre pour permettre à l'utilisateur de
modifier le nom ou l'emplacement.

J'ai essayer ceci:

Application.Dialogs(xlDialogSaveAs).Show
("c:\MonDossier\Nom_du_fichier.xls")

La fenêtre s'ouvre bien mais dirige toujours vers le répertoire où l'on a
enregistrer le dernier fichier, on dirrait qu'il ne tient pas compte de
"c:\MonDossier" avez vous une idée ?

D'avance merci,

Steph

7 réponses

Avatar
FFO
Salut à toi

Mets comme ceci

ChDrive ("C")
ChDir ("C:MonDossierNom_du_fichier.xls")
Application.Dialogs(xlDialogSaveAs).Show

celà devrait faire

Dis moi !!!!!
Avatar
MichD
Bonjour,

Comme ceci :

Tu te contentes d'indiquer le chemin... si tu ajoutes le nom
du fichier, comme ce n'est pas un répertoire, on te retourne
le répertoire par défaut.

Application.Dialogs(xlDialogSaveAs).Show "c:MonDossier"



MichD
--------------------------------------------
"Steph" a écrit dans le message de groupe de discussion : 4df0c02c$0$14250$

Bonjour,

J'essaye via macro d'ouvrir une fenêtre SaveAs pour pouvoir sauvegarder le
fichier ouvert vers un dossier bien spécifique.
Je veux absolument passer par la fenêtre pour permettre à l'utilisateur de
modifier le nom ou l'emplacement.

J'ai essayer ceci:

Application.Dialogs(xlDialogSaveAs).Show
("c:MonDossierNom_du_fichier.xls")

La fenêtre s'ouvre bien mais dirige toujours vers le répertoire où l'on a
enregistrer le dernier fichier, on dirrait qu'il ne tient pas compte de
"c:MonDossier" avez vous une idée ?

D'avance merci,

Steph
Avatar
Steph
Merci pour la réponse mais ça ne fonctionne pas chez moi. (Excel 2003)

Pour info, j'ai trouver le code suivant qui lui a l'air de fonctionner:

Sub Sauver_Moi()
Dim Sauvegarde As Variant, Question As Integer
Sauvegarde = Application.GetSaveAsFilename("c:dede.xls", FileFilter:="XLS
(*.xls), *.xls", Title:="Sauvez moi vite ...")
' Demande ou sauver le doc et le nom à lui donner
If Sauvegarde = False Then Exit Sub
' Si click sur annuler, alors exit sub
If Dir(Sauvegarde) <> "" Then ' le fichier renseigné par l'utilisateur
existe-t-il ?
Question = MsgBox("Attention le fichier existe déjà" & Chr(13) & "Voulez
vous le remplacer ?", vbQuestion + vbYesNo, "Attention...")
' Si oui, faut t-il l'effacer ?
If Question = 6 Then ' Oui
Kill Sauvegarde ' Efface
Else ' Non
Exit Sub ' Stop procédure
End If
End If
ThisWorkbook.SaveAs Sauvegarde ' Sauvegarde
End Sub

MichD ---> Ton code ne fonctionne pas non plus, il ne dirige tjs pas vers le
bon répertoire.

Merci

Bonne journée,

Steph




"FFO" a écrit dans le message de news:

Salut à toi

Mets comme ceci

ChDrive ("C")
ChDir ("C:MonDossierNom_du_fichier.xls")
Application.Dialogs(xlDialogSaveAs).Show

celà devrait faire

Dis moi !!!!!
Avatar
MichD
|MichD ---> Ton code ne fonctionne pas non plus,
| il ne dirige tjs pas vers le bon répertoire.

| Application.Dialogs(xlDialogSaveAs).Show "c:MonDossier"

Je n'en crois rien, tu as un autre problème que celui que tu énonces !
J'espère que tu as remplacé ceci : "c:MonDossier" par un chemin
qui existe vraiment sur ton ordinateur.
Avatar
Steph
Oui oui, bien sur. C'est vrai que c'est étonnant car je trouve beaucoup de
forum sur le net avec des solutions qui d'après les éditeurs devraient
fonctionner et chez moi cela redirige tjs vers le dernier répertoire où l'on
à enregistrer le dernier fichier. Bizard...

Voici ci-dessous le code que j'ai utiliser, celui là fonctionne bien:

?

---------------------------------------------------------------------------------------------------------

Sub Enregistrer()

Dim Sauvegarde As Variant, Question As Integer Sauvegarde =
Application.GetSaveAsFilename("F:Mining" & Format(Date, "yyyymmdd") & " -
Nom_du_fichier.xls", FileFilter:="XLS (*.xls), *.xls", Title:="Sauvez moi
vite ...") ' Demande ou sauver le doc et le nom à lui donner If Sauvegarde =
False Then Exit Sub ' Si click sur annuler, alors exit sub If
Dir(Sauvegarde) <> "" Then ' le fichier renseigné par l'utilisateur
existe-t-il ?

Question = MsgBox("Attention le fichier existe déjà" & Chr(13) & "Voulez
vous le remplacer ?", vbQuestion + vbYesNo, "Attention...")

' Si oui, faut t-il l'effacer ?

If Question = 6 Then ' Oui

Application.DisplayAlerts = False

'Kill Sauvegarde ' Efface

Else ' Non

Exit Sub ' Stop procédure

End If

End If

ThisWorkbook.SaveAs Sauvegarde ' Sauvegarde Application.DisplayAlerts = True
End Sub

--------------------------------------------------------------------------------------------------------------

?

Merci pour ton aide,

Steph

?

?

"MichD" a écrit dans le message
news:<isqi1t$jnt$...





|MichD ---> Ton code ne fonctionne pas non plus,

| il ne dirige tjs pas vers le bon répertoire.



| Application.Dialogs(xlDialogSaveAs).Show "c:MonDossier"



Je n'en crois rien, tu as un autre problème que celui que tu énonces !

J'espère que tu as remplacé ceci : "c:MonDossier" par un chemin qui

existe vraiment sur ton ordinateur.







"MichD" a écrit dans le message de news:
isqi1t$jnt$


|MichD ---> Ton code ne fonctionne pas non plus,
| il ne dirige tjs pas vers le bon répertoire.

| Application.Dialogs(xlDialogSaveAs).Show "c:MonDossier"

Je n'en crois rien, tu as un autre problème que celui que tu énonces !
J'espère que tu as remplacé ceci : "c:MonDossier" par un chemin
qui existe vraiment sur ton ordinateur.

Avatar
Steph
Je ne suis pas le seul à avoir ce problème regarde ce forum
http://www.excel-downloads.com/forum/69519-commande-application-dialogs-xldialogsaveas-show.html

;-)

"MichD" a écrit dans le message de news:
isqi1t$jnt$


|MichD ---> Ton code ne fonctionne pas non plus,
| il ne dirige tjs pas vers le bon répertoire.

| Application.Dialogs(xlDialogSaveAs).Show "c:MonDossier"

Je n'en crois rien, tu as un autre problème que celui que tu énonces !
J'espère que tu as remplacé ceci : "c:MonDossier" par un chemin
qui existe vraiment sur ton ordinateur.

Avatar
MichD
Une façon de faire pour les fichiers déjà enregistrés :
(FileDialog existe depuis au moins la version 2003... je ne
sais pas les autres versions d'Excel)

'--------------------
Sub FileDialogAsBrowser()
With Application.FileDialog(msoFileDialogSaveAs)
.InitialFileName = "c:LeChemin" 'à adapter
.Show
End With
End Sub
'--------------------

Ceci s'applique pour les fichiers non enregistrés comme le nom
de la boîte de dialogue "SaveAs" l'indique

Application.Dialogs(xlDialogSaveAs).Show "c:MonDossier"





MichD
--------------------------------------------
"Steph" a écrit dans le message de groupe de discussion : 4df0cfd2$0$14254$

Oui oui, bien sur. C'est vrai que c'est étonnant car je trouve beaucoup de
forum sur le net avec des solutions qui d'après les éditeurs devraient
fonctionner et chez moi cela redirige tjs vers le dernier répertoire où l'on
à enregistrer le dernier fichier. Bizard...

Voici ci-dessous le code que j'ai utiliser, celui là fonctionne bien:

?

---------------------------------------------------------------------------------------------------------

Sub Enregistrer()

Dim Sauvegarde As Variant, Question As Integer Sauvegarde Application.GetSaveAsFilename("F:Mining" & Format(Date, "yyyymmdd") & " -
Nom_du_fichier.xls", FileFilter:="XLS (*.xls), *.xls", Title:="Sauvez moi
vite ...") ' Demande ou sauver le doc et le nom à lui donner If Sauvegarde False Then Exit Sub ' Si click sur annuler, alors exit sub If
Dir(Sauvegarde) <> "" Then ' le fichier renseigné par l'utilisateur
existe-t-il ?

Question = MsgBox("Attention le fichier existe déjà" & Chr(13) & "Voulez
vous le remplacer ?", vbQuestion + vbYesNo, "Attention...")

' Si oui, faut t-il l'effacer ?

If Question = 6 Then ' Oui

Application.DisplayAlerts = False

'Kill Sauvegarde ' Efface

Else ' Non

Exit Sub ' Stop procédure

End If

End If

ThisWorkbook.SaveAs Sauvegarde ' Sauvegarde Application.DisplayAlerts = True
End Sub

--------------------------------------------------------------------------------------------------------------

?

Merci pour ton aide,

Steph

?

?

"MichD" a écrit dans le message
news:<isqi1t$jnt$...





|MichD ---> Ton code ne fonctionne pas non plus,

| il ne dirige tjs pas vers le bon répertoire.



| Application.Dialogs(xlDialogSaveAs).Show "c:MonDossier"



Je n'en crois rien, tu as un autre problème que celui que tu énonces !

J'espère que tu as remplacé ceci : "c:MonDossier" par un chemin qui

existe vraiment sur ton ordinateur.







"MichD" a écrit dans le message de news:
isqi1t$jnt$


|MichD ---> Ton code ne fonctionne pas non plus,
| il ne dirige tjs pas vers le bon répertoire.

| Application.Dialogs(xlDialogSaveAs).Show "c:MonDossier"

Je n'en crois rien, tu as un autre problème que celui que tu énonces !
J'espère que tu as remplacé ceci : "c:MonDossier" par un chemin
qui existe vraiment sur ton ordinateur.