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 SubSalut,
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 fichierpar celle-ci
If fichier <> False Then ThisWorkbook.SaveAs fichier, FileFormat:=51Là 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