Prob enregistrer sous

Bonjour,

Je souhaite qu'à la fin de ma macro, le panneau enregistrer sous apparaisse avec un dossier précis et un format de fichier présélectionné.

Je pars d'un fichier csv, ma macro permet de faire de la mise en forme et du traitement de données, puis je souhaiterai l'enregistrer au format xlsx.

J'ai pris la macro d'enregistrement sur un post de Dan (merci beaucoup!) mais le fichier n'apparait pas dans mon dossier de destination et le fichier ne change pas de nom ni de format.

Pour info, je suis un pur autodidacte, copiant ou m'inspirant de ce que je peux trouver sur votre site/forum. donc le code n'est pas nickel, je m'en doute bien

Merci par avance pour votre aide.

knossos

Voici mon code :

Sub csv()
'
' csv Macro
'
    Columns("A:A").Select
    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
        Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
        :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1)), TrailingMinusNumbers:= _
        True
    Application.Run "PERSONAL.XLSB!Réco_IG2"

Dim fichier As String
On Error Resume Next
ChDir "X:\2. BUDGET - ACTUALISATIONS - REALISE\2.4 - Réalisé de Trésorerie\2014"
fichier = Application.GetSaveAsFilename( _
    fileFilter:="Excel Files (*.xlsx), *.xlsx")
If fichier <> False Then ThisWorkbook.SaveAs fichier

End Sub

Salut,

knossos a écrit :

Je souhaite qu'à la fin de ma macro, le panneau enregistrer sous apparaisse avec un dossier précis et un format de fichier présélectionné.

Normalement tu fais apparaître une fenêtre "Enregistrer sous" uniquement si tu désires pouvoir choisir l'emplacement. Mais si tu sais exactement où tu veux enregistrer ton fichier, pourquoi ne pas l'enregistrer directement sans ouvrir cette fenêtre ?

Pour la suite de la discussion, il sera probablement fort utile d'avoir ton fichier à disposition.

A te relire.

Bonjour Yvouille et merci de prendre le temps de me répondre.

Je suis d'accord avec ta remarque mais en fait c'est un traitement que je dois faire tous les mois et chaque mois le dossier changera.

C'est pour quoi je veux ouvrir le panneau "enregistrer sous" sur le dossier 2014 et tous les mois je créerai le dossier correspondant.

Salut,

knossos a écrit :

Je souhaite qu'à la fin de ma macro, le panneau enregistrer sous apparaisse avec un dossier précis

knossos a écrit :

et chaque mois le dossier changera

Tes deux textes ci-dessus sont un peu contradictoires, non

Pour avoir le nom d’un fichier prédéfini qui apparaisse dans la fenêtre de dialogue il suffirait de placer, selon l'aide Excel, le nom du fichier désiré (également sous la forme d’une variable) au début des arguments de GetSaveAsFilename, par exemple en transformant tes deux lignes ci-dessous :

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

par ceci :

fichier = Application.GetSaveAsFilename( _
    "Nom_désiré", fileFilter:="Excel Files (*.xlsx), *.xlsx")

mais j'ai effectué quelques essais et les résultats sont très aléatoires ; parfois ça fonctionne parfaitement et parfois – sans que j’ai pu en trouver la raison – ça ne passe plus.

Pour forcer un format xlsx essaie encore de remplacer cette ligne

If fichier <> False Then ThisWorkbook.SaveAs fichier

par celle-ci

If fichier <> False Then ThisWorkbook.SaveAs fichier, FileFormat:=51

Là je suis au bout de mes possibilités afin de t’aider à ce sujet. Si jamais tu as encore des soucis, je te conseille d’indiquer ce fil comme « Résolu » et d’en ouvrir un autre, à moins qu’un autre membre intervienne rapidement ici

Amicalement.

Merci Yvouille pour ta réponse

Je vais tenter les modifs indiquées et clore le sujet.

C'était + pour du confort qu'un réel besoin que je voulais paramétrer le "save as".

Je vais donc clore le sujet et si ça ne fonctionne pas, je ferai la sauvegarde manuellement.

Merci encore et bonne année!

knossos

Rechercher des sujets similaires à "prob enregistrer"