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.
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 ?
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.
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
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.
MichD
--------------------------------------------
"Steph" a écrit dans le message de groupe de discussion : 4df0c02c$0$14250$ba620e4c@news.skynet.be...
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.
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 ?
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.
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
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 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" <francois.forcet@wanadoo.fr> a écrit dans le message de news:
923ccac9-de7a-4dda-9252-759db0d22b3f@w10g2000yqh.googlegroups.com...
Salut à toi
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.
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 ---> Ton code ne fonctionne pas non plus,
| il ne dirige tjs pas vers le bon répertoire.
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.
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.
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:
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
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.
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:
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
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.
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:
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
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.
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.
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" <michdenis@hotmail.com> a écrit dans le message de news:
isqi1t$jnt$1@speranza.aioe.org...
|MichD ---> Ton code ne fonctionne pas non plus,
| il ne dirige tjs pas vers le bon répertoire.
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.
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
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
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:
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
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.
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
MichD
--------------------------------------------
"Steph" a écrit dans le message de groupe de discussion : 4df0cfd2$0$14254$ba620e4c@news.skynet.be...
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:
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
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.
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
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:
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
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.