Export pdf

Résolu/Fermé
vince0708_3121 Messages postés 28 Date d'inscription mercredi 8 janvier 2020 Statut Membre Dernière intervention 12 juillet 2021 - 20 mars 2020 à 08:17
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 - 18 avril 2020 à 19:02
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.
A voir également:

4 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
20 mars 2020 à 09:14
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
ibru_7113 Messages postés 7 Date d'inscription lundi 13 avril 2020 Statut Membre Dernière intervention 18 avril 2020
15 avril 2020 à 08:46
merci, je vais tester ça
Bonne journée
0
ibru_7113 Messages postés 7 Date d'inscription lundi 13 avril 2020 Statut Membre Dernière intervention 18 avril 2020
Modifié le 18 avril 2020 à 17:30





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
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728 > ibru_7113 Messages postés 7 Date d'inscription lundi 13 avril 2020 Statut Membre Dernière intervention 18 avril 2020
Modifié le 18 avril 2020 à 13:13
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
0
ibru_7113 Messages postés 7 Date d'inscription lundi 13 avril 2020 Statut Membre Dernière intervention 18 avril 2020 > cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024
18 avril 2020 à 18:50
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
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728 > ibru_7113 Messages postés 7 Date d'inscription lundi 13 avril 2020 Statut Membre Dernière intervention 18 avril 2020
Modifié le 18 avril 2020 à 19:05
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
0
vince0708_3121 Messages postés 28 Date d'inscription mercredi 8 janvier 2020 Statut Membre Dernière intervention 12 juillet 2021
20 mars 2020 à 11:43
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!
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é le 20 mars 2020 à 12:15
0
vince0708_3121 Messages postés 28 Date d'inscription mercredi 8 janvier 2020 Statut Membre Dernière intervention 12 juillet 2021
20 mars 2020 à 12:24
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?
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
20 mars 2020 à 12:36
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
0
vince0708_3121 Messages postés 28 Date d'inscription mercredi 8 janvier 2020 Statut Membre Dernière intervention 12 juillet 2021
20 mars 2020 à 12:59
Genial merci ca fonctionne!!!!! Champagne!!! vous etes trop fort!
0