1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
| Option Explicit
Sub Test()
Dim FSO As Object, sMois As String, i As Long, cpt As Long, Ar() As String
Dim iAnnee As Long, sDossier As String, sNomFichierPDF As String
iAnnee = Year(Now)
Select Case Month(Now)
Case 1
sMois = "décembre"
iAnnee = iAnnee - 1
Case 2
sMois = "janvier"
Case 3
sMois = "février"
Case 4
sMois = "mars"
Case 5
sMois = "avril"
Case 6
sMois = "mai"
Case 7
sMois = "juin"
Case 8
sMois = "juillet"
Case 9
sMois = "août"
Case 10
sMois = "septembre"
Case 11
sMois = "octobre"
Case 12
sMois = "novembre"
End Select
sDossier = ThisWorkbook.Path & "\" & "Essai"
Set FSO = CreateObject("Scripting.FileSystemObject")
If Not FSO.FolderExists(sDossier) Then FSO.CreateFolder (sDossier)
Set FSO = Nothing
cpt = 0
For i = 1 To ThisWorkbook.Sheets.Count
If Left$(Sheets(i).Name, 2) = "RF" Or _
Left$(Sheets(i).Name, 2) = "RC" Or _
Left$(Sheets(i).Name, 5) = "Graph" Then
ReDim Preserve Ar(cpt)
Ar(cpt) = Sheets(i).Name
cpt = cpt + 1
End If
Next i
If cpt = 0 Then Exit Sub
sNomFichierPDF = sDossier & "\" & sMois & "_" & CStr(iAnnee) & ".pdf"
DoEvents
Application.ScreenUpdating = False
Sheets(Ar).Select
'xlQualityStandard ou xlQualityMinimum
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sNomFichierPDF _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False
Sheets(1).Select
Erase Ar
Application.ScreenUpdating = True
Application.StatusBar = "PDF créés dans le répertoire " & sDossier
End Sub |
Partager