Enregistrer en PDF pages sélectionnées

pagouille Messages postés 3 Statut Membre -  
cs_Le Pivert Messages postés 8437 Statut Contributeur -
Bonjour à tous,

Je débute en Macro et je butte sur un point.
J'ai un gros fichier Excel avec beaucoup d'onglets, et dans chaque onglet, une dizaine de pages.
J'ai besoin quotidiennement d'enregistrer en PDF certaines de ces pages, et la sélection des pages à imprimer change tous les jours.
Jusqu'à présent, j'utilisais la fonction enregistrer sous...en PDF, en sélectionnant les pages à enregistrer (de 1 à xx...).
Bref, je perds un temps fou.

Ce que je cherche à faire : avoir un onglet spécifique à l'impression des pages, et dans cet onglet, pouvoir sélectionner les pages à enregistrer en PDF.
Je veux ensuite cliquer sur un bouton, et le fichier s'enregistre à la racine du fichier (utilisateurs multiples sur différents PC du fichier), avec un nom puisé dans une cellule. Un seul fichier PDF pour un onglet.

Je vous joins un fichier exemple ultra simplifié, pour un fichier contenant juste une feuille.

https://www.cjoint.com/c/FEdnEVcsjAk

Ce que j'ai réussi à faire pour le moment sur ce fichier test avec un code bidouillé, l'enregistreur de macro et les différents forums : enregistrer l'onglet actif en PDF, enregistrer des pages fixes d'un autre onglet en PDF, et gérer leurs noms.

Mon code est le suivant :

Sub printbdc()
Sheets("Feuil2").Select
chemin = ThisWorkbook.Path & "\" & myfile
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=chemin & Sheets("Feuil2").Range("G5") & ".pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, From:=2, To:=3, _
OpenAfterPublish:=False
Sheets("Feuil1").Select
End Sub

Il me manque le plus compliqué : la gestion de la sélection des pages.

Merci d'avance pour votre précieuse aide !

Fred
A voir également:

5 réponses

cs_Le Pivert Messages postés 8437 Statut Contributeur 729
 
Bonjour,

Voici un exemple:

http://www.cjoint.com/c/FEdpujGmcZQ
0
pagouille Messages postés 3 Statut Membre
 
Bonjour,

Tout d'abord, merci pour votre retour.

En essayant votre exemple, j'obtiens un PDF portant le nom défini en G5 de la page sélectionnée, mais ça imprime le PDF de l'INTERFACE.

Je ne vois pas comment adapter cela à mon fichier.
L'idée est de pouvoir sélectionner plusieurs pages d'un même onglet et de les enregistrer en PDF.

Étant un vrai débutant en VBA (commencé ce matin à m'y pencher dessus !), j'ai peut-être loupé une subtilité ?

Merci d'avance,

Fred
0
cs_Le Pivert Messages postés 8437 Statut Contributeur 729
 
J'ai repris ton code!

Voici le code corrigé:

Sub SavePDF()
chemin = ThisWorkbook.Path & "\"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    chemin & Sheets(ChoixFeuille).Range("G5") & ".pdf", Quality:= _
    xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
    From:=1, To:=1, OpenAfterPublish:=False
   MsgBox "Enregistrer en PDF dans le dossier du classeur", vbInformation, "Enrgistrement en PDF"
End Sub


De cette manière tu choisis une feuille à la fois et tu l'enregistres.
Si tu veux sélectionner plusieurs feuilles, il faut passer par une boucle des feuilles. C'est plus compliqué, si ce n'est jamais les mêmes feuilles.

@+ Le Pivert
0
pagouille Messages postés 3 Statut Membre
 
Bonjour,
Merci pour le retour !
Ce n'est malheureusement pas ce qu'il me faut :(
Une piste de réflexion venant d'une réponse sur un autre forum :

https://www.developpez.net/forums/d1583162/logiciels/microsoft-office/excel/macros-vba-excel/enregistrer-pdf-pages-selectionnees/#post8621474

Ca parait compliqué comme demande...

Fred
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Le Pivert Messages postés 8437 Statut Contributeur 729
 
Voici un nouveau classeur, avec multi selection de feuilles.

Il suffit de sélectionner les feuilles que l'on désire enregistrer en PDF et cliquer sur Enregistrer:

http://www.cjoint.com/c/FEepu5MkwvQ
0