Export pdf

[Résolu/Fermé]
Signaler
Messages postés
28
Date d'inscription
mercredi 8 janvier 2020
Statut
Membre
Dernière intervention
12 juillet 2021
-
Messages postés
7544
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
26 septembre 2021
-
Bonjour à tous.

Je vous explique ma demande.

J'ai un fichier excel avec 250 onglets (feuilles en bas de l'écran) qui correspond a du personnel par ex 1 feuille Matthieu, 1 feuille Pierre..... donc à l'impression 250 pages.... je voudrais extraire chacune de ces pages individuellement avec leur nom et en pdf pour les envoyer 1 par 1 par mail à la personne concernée, .Est ce possible?

Autrement dit je voudrais envoyer la feuille pierre en pdf à pierre, la feuille matthieu à matthieu mais n'avoir qu'une seule manip pour les enregistrer individuellement sous le nom qu'elle porte et en pdf...
Merci par avance.

4 réponses

Messages postés
7544
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
26 septembre 2021
659
Bonjour,

comme ceci:

Option Explicit
Dim nom, chemin  As String
Dim sh As Worksheet
 Sub Save_onglet()
'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
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


2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 42674 internautes nous ont dit merci ce mois-ci

Messages postés
7
Date d'inscription
lundi 13 avril 2020
Statut
Membre
Dernière intervention
18 avril 2020

merci, je vais tester ça
Bonne journée
Messages postés
7
Date d'inscription
lundi 13 avril 2020
Statut
Membre
Dernière intervention
18 avril 2020






Bonjour,

J'ai essayé d'adapter ton code ( dans sheets Bulletin - insertion - Module ) mais cela me donne une erreur l'objet invoqué s'est déconnecté de ses clients

Option Explicit
Dim nom, chemin  As String
Dim sh As Worksheet
 Sub Save_onglet()

For Each sh In ThisWorkbook.Worksheets
nom = sh.Name
  Sheets("Bulletin").Select
    Save_pdf
 Next
End Sub
Private Sub Save_pdf()
chemin = ActiveWorkbook.Path & " C:\Users\EC000094\Desktop\Bulletins pdf\" 'chemin du dossier destination à adapter

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        chemin & " C:\Users\EC000094\Desktop\Bulletins pdf\" & nom & ".pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
        False
        MsgBox "Enregistrer" 'on peut supprimer
End Sub


Merci d'avance pour ton retour
Messages postés
7544
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
26 septembre 2021
659 >
Messages postés
7
Date d'inscription
lundi 13 avril 2020
Statut
Membre
Dernière intervention
18 avril 2020

Simplement comme cela si il n' y a qu'une feuille

Option Explicit
Private Sub Save_pdf()
Dim nom, chemin As String
nom = Range("C1") & "_" & Range("G1")
chemin = "C:\Users\EC000094\Desktop\" '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


a mettre dans un module et associer à un bouton

quelques liens utile

https://forums.commentcamarche.net/forum/affich-36518314-export-pdf#3

@+ Le Pivert
Messages postés
7
Date d'inscription
lundi 13 avril 2020
Statut
Membre
Dernière intervention
18 avril 2020
>
Messages postés
7544
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
26 septembre 2021

Re...
Il y a plusieurs feuilles générées par la liste déroulante c'est pourquoi, j'ai créé un sujet "l'objet s'est déconnecté de ses clients"
mais pas de souci, merci pour ton aide et encore désolée de n'être qu'une débutante qui patauge.

Bonne soirée
Messages postés
7544
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
26 septembre 2021
659 >
Messages postés
7
Date d'inscription
lundi 13 avril 2020
Statut
Membre
Dernière intervention
18 avril 2020

Mais les données sont toujours sur la feuille "Bulletin", c'est donc la feuille active que tu veux enregistrer en PDF.
Donc il suffit de sélectionner dans ta ComboBox l’élève qui va s'afficher sur la feuille "Bulletin" et ensuite d'appuyer sur le bouton qui est associé à la macro qui est dans un module.
Répété l'opération pour chaque élève.

C'est bien cela?

Par contre si tu ne veux que les données et non pas toute la feuille il faut changer la macro comme ceci:

Sub Save_pdf()
Dim nom As String
Dim chemin As String
Dim Plage As Range
Set Plage = Application.InputBox("Sélectionnez plage cellules:", Type:=8)
chemin = "C:\Users\EC000094\Desktop\" 'chemin du dossier destination à adapter
nom = Range("C1") & "_" & Range("G1")
Plage.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
chemin & nom & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
Set Plage = Nothing
MsgBox "Enregistrer" 'on peut supprimer
End Sub


cette macro te permet de sélectionner la plage de cellules que tu veux

@+ Le Pivert
Messages postés
28
Date d'inscription
mercredi 8 janvier 2020
Statut
Membre
Dernière intervention
12 juillet 2021

Re....

Merci pour cette réponse, mais pour moi, total amateur sur excel, je ne comprends rien, désolé de cette ignorance certainement, mais là ça me parait de l'hebreux pour moi!
Messages postés
7544
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
26 septembre 2021
659
Messages postés
28
Date d'inscription
mercredi 8 janvier 2020
Statut
Membre
Dernière intervention
12 juillet 2021

Super! encore merci.

Je sentais que ça touché aux macros... Chise que je ne maitrise pas. je vais donc suivre vos tuto. Ensuite je fais un simple copié collé de votre premier message? c'est ça?
Messages postés
7544
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
26 septembre 2021
659
Oui dans un module que vous aurez inséré.

Voir Ruban Insertion - Module

Ensuite l'associer à un bouton pour lancer l'opération, voir le lien

Ce n'est pas très compliqué en suivant les instructions dans les lien fournis

@+ Le Pivert
Messages postés
28
Date d'inscription
mercredi 8 janvier 2020
Statut
Membre
Dernière intervention
12 juillet 2021

Genial merci ca fonctionne!!!!! Champagne!!! vous etes trop fort!