VBA => Enregistrer sous (chemin précis)

Bonjour,

je souhaiterais qu'une macro excel m'ouvre la boite de dialogue "Enregistrer Sous..." mais que le chemin "Enregistrer dans:" soit défini et qui ne soit pas imposé dans le répertoire "Mes Documents" ou "Bureau".

En gros, par défaut, qu'il enregistre dans C;\Dossier1\Dossier2.

mais je souhaiterais pouvoir choisir le nom du fichier Excel à enregistrer (qu'il s'appelle pas Classeur1.xls, me laisser choisir le nom)

Cordialement

Bonsoir,

Essaie ceci :

Sub test()
ChDir "C:\Dossier1\Dossier2"
Application.Dialogs(xlDialogSaveAs).Show
End Sub

Si ok n'oublie pas de cliquer sur le V vert pour cloturer le fil

Amicalement

Salut,

Sub super as String
super = "you are the best"

While Dan = super Do
    Msgbox ("Thank You !")
End While

A+

-- Mar Nov 09, 2010 7:06 pm --

Re,

Finalement, ça marche pas... enfin a moitié.

Si le fichier n’est pas enregistré, ça fonctionne bien. mais si le fichier a déjà été enregistré, il n'en veut pas ...

up

Re,

déso mais je n'ai pas vu l'édit.

C'est normal puisque le code donné ne fait qu'ouvrir la boite à message. Dans ce cas, il faut lui donner un nouveau nom ou écraser le fichier qui existe déjà.

Sinon que désires-tu ?

A te relire

Re,

je souhaite pour un fichier (peu importe le nom, et son emplacement) créer une macro qui m'enregistre le classeur, avec la boite de dialogue "pré remplie" avec le chemin C:\Dossier1\Dossier2, mais que je puisses saisir à la main le nom du fichier avant enregistrement.

En gros que la fenêtre "Enregistrer sous" ne soit pas par défaut dans "Mes Documents" mais dans le répertoire C:\Dossier1\Dossier2

@+

re,

essaie ceci :

Sub test()
ChDir "C:\dossier1\dossier2"
ActiveWorkbook.SaveAs Filename:=Application.GetSaveAsFilename( _
    fileFilter:="Excel Files (*.xls), *.xls")
End Sub

Amicalement

Salut,

Merci mais ce coup, cela ne fonctionne pas.

Faut-il avoir une session Administrateur pour faire la commande ChDir ?

re,

Bizarre cela ne buggue pas sous excel 2000.

Essaie avec ce code (testé sous excel 2003)

Sub test()
'Macro dan le 28/11/2010
Dim fichier As String
On Error Resume Next
ChDir "C:\dossier1\dossier2"
fichier = Application.GetSaveAsFilename( _
    fileFilter:="Excel Files (*.xls), *.xls")
If fichier <> False Then ThisWorkbook.SaveAs fichier
End Sub

Remplace dossier 1 et dossier 2 par tes répertoires exacts

Amicalement

Bonsoir,

Nickel, ca marche du tonnerre.

Dernière question, le must du must, serait que le nom du fichier ne soit pas inscrit (comme si l'on effectuais une pression sur la touche "retour" afin que la case soit vide.

Merci

re,

Lorsque tu utilises Enregistrer sous depuis "fichier", excel te propose toujours le nom du fichier par défaut. Avec cette méthode c'est la même chose.

Tu peux aussi mettre ceci à la place

fichier = Application.GetSaveAsFilename(" ")

ou

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

Cela mettra un blanc à la place du nom de fichier mais bon c'est de la bidouille cela ... et les espaces c'est pas bon en informatique...Il vaut mieux un tiret ou autre chose.

Tu aurais pu aussi te passer de cette boite "enregistre sous" et définir un nom de fichier en partant de données sur ta feuille + une date (par exemple) et indiquer au code le répertoire. Dans ce cas, la sauvegarde était faite automatiquement sans te demander quoi que ce soit.

ou créer une boite qui t'obligeait à mette un nom de fichier. Là plus besoin non plus de cette boite "enregistrer sous".

Voilà, si ok n'oublie pas de cloturer en cliquant sur le V vert.

Amicalement

Nickel, au lieu de mettre " " je mets "" directement, comme ça pas d'espace, et cela fonctionne nickel.

A+ Et Merci Grand chef

Bonjour

Je souhaiterais faire de même avec une seule feuille d'un classeur dont le nom est RECAP

De plus, il faudrait que le nom du fichier soit ce qui est saisi en cellule C1 de la même feuille

Je suis sous excel 2010

Rechercher des sujets similaires à "vba enregistrer chemin precis"