Bonjour,
Le premier réflexe est d'utiliser l'enregistreur de macros
Celui-ci aurait générer ce code
1 2 3 4 5 6 7 8 9 10 11 12
| Sub Macro1()
Sheets("Total").Select
Sheets("Total").Copy
Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
ChDir "Z:\Tests"
ActiveWorkbook.SaveAs Filename:="Z:\Tests\Synthèse.xlsx", FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False
End Sub |
Code qui fonctionne parfaitement mais qui serait plus "propre" comme ci-dessous.
1 2 3 4 5 6 7 8 9 10
|
Sub CopySave()
ThisWorkbook.Sheets("Total").Copy ' En précisant que c'est le classeur où se trouve le code VBA
With Cells
.Copy
.PasteSpecial Paste:=xlPasteValues
End With
Application.CutCopyMode = False
ActiveWorkbook.SaveAs Filename:="Z:\Tests\Synthèse.xlsx"
End Sub |
Il est possible évidement d'améliorer le nom du fichier que l'on sauvegarde.
Par exemple si l'on souhaite le sauver chaque mois sous le nom AAMM_Synthèse.xlsx
La ligne de code sera
ActiveWorkbook.SaveAs Filename:="Z:\Tests\" & Format(Date, "YYMM") & "_" & "Synthèse.xlsx"
Partager