Imprimer chaque onglet d'une fichier sheet sur des PDF séparés

amelieB -  
cs_Le Pivert Messages postés 8437 Statut Contributeur -
Bonjour,
j'ai un classeur sur sheet, avec une 20aine d'onglets différents, en contenu et en mise en page, et je souhaite les télécharger en PDF séparés (1 onglet = 1 PDF). Jusqu'a maintenant je telecharge chaque classeur entier en 1 seul PDF ce qui me donne parfois 350 pages donc difficile d'aller chercher une info, et à part faire la manip autant de fois qu'il y a d'onglets, je ne vois pas comment faire ! en plus je suis nulle en macro ou script. qqun aurait-il une solution ? Merci d'avance

Configuration: Windows / Chrome 85.0.4183.102

1 réponse

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 731
     
    Bonjour,

    en vba faire Alt F11 pour accéder à l'éditeur

    Ensuite allez dans le ruban: insertion Module

    coller ce code:

    Option Explicit
    Dim nom, chemin  As String
    Dim sh As Worksheet
     Sub Save_onglet()
     Application.ScreenUpdating = False
    'Boucle sur toutes les feuille de calcul du classeur. Les onglets graphiques ne sont pas pris
    'en compte.
    'ThisWorkbook correspond à l'objet classeur contenant la macro
    For Each sh In ThisWorkbook.Worksheets
    nom = sh.Name
      Sheets(nom).Select
        Save_pdf
     Next
     Application.ScreenUpdating = True
    End Sub
    Private Sub Save_pdf()
    chemin = ActiveWorkbook.Path & "\" 'chemin du dossier destination à adapter
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
            chemin & nom & ".pdf", Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
            False
           ' MsgBox "Enregistrer" 'on peut supprimer
    End Sub
    
    


    Ensuite enregistrer sous: classeur Excel prenant en charge les macros

    Ensuite retourner dans le Module, mettre le curseur sur Save_onglet et appuyer sur la touche F5 du clavier.

    Tous les PDF vont s'enregistrer dans le même dossier que le classeur

    Voilà
    0