Sub SaveSheetsToPdf()
Dim File As String, AcSheetName As String ' Nom de fichier et nom de la feuille active
Dim SVisible As XlSheetVisibility ' Visibilité de la feuille S au lancement de la macro
Application.ScreenUpdating = False
With ThisWorkbook
'
' retenir le nom de la feuille active et la visibilité de la feuille S
AcSheetName = ActiveSheet.Name
SVisible = Sheets("S").Visible
'
' Définir le nom du fichier pdf et si le fichier est trouvé sur le disque, le supprimer
File = .Path & "\attachment.pdf"
If Dir(File) <> "" Then Kill File
'
' Définir les plage d'impression pour les deux feuilles
Sheets("S").PageSetup.PrintArea = Sheets("S").UsedRange.Address
Sheets("Graphique").PageSetup.PrintArea = "B2:F43"
'
' Rendre la feuille S visible pour pouvoir l'inclure dans la sélection
Sheets("S").Visible = xlSheetVisible
'
' Sélection des feuilles à exporter en pdf et exportation
.Sheets(Array("Graphique", "S")).Select
Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
File, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
'
' rendre à la feuille S sa visibilité d'origine et activation de la feuille d'origine/
Sheets("S").Visible = SVisible
.Sheets(AcSheetName).Select
End With
Application.ScreenUpdating = True
End Sub