Enregistrer toutes les feuilles du nouveau classeur en pdf
b
Bonjour,
je sollicite votre aide car je bloque depuis un moment sur ceci.
Je fusionne plusieurs classeurs en 1 seul et j'aimerai enregistrer toutes les feuilles du nouveau classeur en pdf distincts lorsque celui-ci est crée mais pas encore enregistré (voir mon code je bloque à l'étape 3)
'3-C'est ici que je bloque, comment enregistrer toutes les feuilles du nouveauClasseur en pdf distincts)
Sub fusionClasseurs()
'1-Macro pour fusion de tous les classeurs en un seul, le nom des feuilles deviendra "nom classeur + nom feuille" : ok
Dim nomDossier As String
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = -1 Then
nomDossier = .SelectedItems(1) & "\"
Else
Exit Sub
End If
Dim nouveauClasseur As Workbook
Set nouveauClasseur = Workbooks.Add
Dim classeurSource As String
classeurSource = Dir(nomDossier & "*.xls")
Do While classeurSource <> ""
Dim classeur As Workbook
Set classeur = Workbooks.Open(nomDossier & classeurSource)
Dim classeurNom As String
classeurNom = Split(classeurSource, ".")(0)
Dim feuille As Worksheet
For Each feuille In classeur.Sheets
feuille.Name = Trim(UCase(classeurNom & " " & feuille.Name))
feuille.Copy After:=nouveauClasseur.Sheets(nouveauClasseur.Sheets.Count)
Next
classeur.Close False
classeurSource = Dir
Loop
'2-nouveauClasseur xls créé et ouvert: ok
'3-C'est ici que je bloque, comment enregistrer toutes les feuilles du nouveauClasseur en pdf distincts)
//////////////////////////////////////////////////////////////////////////////
'Sub LoopSheetsSaveAsPDF()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
ws.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=nomDossier & ws.Name & ".pdf"
Next
'End Sub
////////////////////////////////////////////////////////////////////////////
'4-enregistrement du nouveau classeur : ok
nouveauClasseur.SaveAs Filename:=nomDossier & "NouveauClasseur Fusionné " & Format(Date, "mm yyyy") & ".xlsx", FileFormat:=xlOpenXMLWorkbook
End With
End Sub
Pouvez-vous m'aidez svp?
Merci d'avance.
Ben
Bonjour,
Sub sav_pdf()
Dim sh As Worksheet
For Each sh In Worksheets
sh.Copy ' crée un classeur avec une copie de la feuille
' ta sauvegarde en pdf du classeur actif
' ...
ActiveWorkbook.Close SaveChanges:=False
Next sh
End Sub
eric