Enregistrer en PDF pages sélectionnées

Fermé
pagouille Messages postés 3 Date d'inscription mardi 3 mai 2016 Statut Membre Dernière intervention 4 mai 2016 - 3 mai 2016 à 15:38
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 - 4 mai 2016 à 17:23
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 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
3 mai 2016 à 17:21
Bonjour,

Voici un exemple:

http://www.cjoint.com/c/FEdpujGmcZQ
0
pagouille Messages postés 3 Date d'inscription mardi 3 mai 2016 Statut Membre Dernière intervention 4 mai 2016
3 mai 2016 à 17:38
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 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
Modifié par cs_Le Pivert le 3/05/2016 à 17:52
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 Date d'inscription mardi 3 mai 2016 Statut Membre Dernière intervention 4 mai 2016
4 mai 2016 à 15:04
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 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
4 mai 2016 à 17:23
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