XL 2013 [RESOLU] Imprimer chaque feuille dans un fichier différent

troopers87

XLDnaute Occasionnel
Bonjour à tous,

Dans mon fichier Excel, j'ai une feuille Excel par commercial.
Je dois leur envoyer leur propre feuille, sans les autres tous les mois, et au format pdf.
Comme je suis flemmard, je n'ai pas envie d'enregistrer 15 fois le même fichier en masquant les feuilles des autres commerciaux. Je me dis qu'il existe certainement une combine, éventuellement en VBA, pour permettre cela.

Merci d'avance pour votre aide !
 

Yurperqod

XLDnaute Occasionnel
Bonjour le forum

Pour créer un fichier PDF par feuille dans un classeur
VB:
Sub Test()
Dim Chemin As String
Dim Feuille As Worksheet
Chemin = "C:\TEMP\" ' mettre le nom du dossier où enregistrer les PDF
For Each Feuille In Worksheets
Feuille.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & Feuille.Name & ".pdf", Quality:= _
        xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
Next
End Sub

Pour l'envoi par mail, parcourir les exemples de macros VBA qu'on peut trouver sur le forum à ce sujet.
 

troopers87

XLDnaute Occasionnel
Salut Yurperqod et merci pour ton intérêt,

la macro me renvoit une erreur de procédure dans le bloc "Feuille.Export..."

VB:
Sub Test()
Dim Chemin As String
Dim Feuille As Worksheet
Chemin = "C:\Users\camil\Desktop\Nouveau dossier" ' mettre le nom du dossier où enregistrer les PDF
For Each Feuille In Worksheets
Feuille.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & Feuille.Name & ".pdf", Quality:= _
        xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
Next
End Sub

Aurais-tu une idée de la cause ?
 

troopers87

XLDnaute Occasionnel
Au temps pour moi ! J'ai fait le test directement sur un énorme fichier et je pense que c'est pour cela que ça ne collait pas. J'ai tenté avec un fichier de test : aucun souci.

Je me demande maintenant si on ne pourrait pas imprimer les feuilles sélectionnées, par exemple ?
 

jecherche

XLDnaute Occasionnel
Bonjour,
À tester ...
Code:
Option Explicit

Sub Sample()
Dim Feuille As Worksheet
Dim n As Long ', i As Long
Dim Chemin As String

Chemin = "C:\Users\camil\Desktop\Nouveau dossier\" ' mettre le nom du dossier où enregistrer les PDF

n = 0
For Each Feuille In ActiveWindow.SelectedSheets
   Feuille.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & Feuille.Name & ".pdf", Quality:= _
        xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
Next
End Sub


Jecherche
 

jecherche

XLDnaute Occasionnel
Bonjour,

Option Explicit est une commande placée en début de module VBA. Elle vous oblige à déclarer toutes vos variables dans le code du module. Ça peut paraître un peu contraignant, mais il y a aussi des avantages :

  • votre code sera plus structuré et plus “propre” ;
  • vous pourrez détecter certaines erreurs plus facilement.


Je cherche
 

troopers87

XLDnaute Occasionnel
Oula ! Juste avant d'envoyer mon mail, je me suis rendu compte qu'en fait :
- Excel me créait bien un fichier .pdf par commercial,
- Mais que chaque fichier contenait le contenu de toutes les feuilles sélectionnées !

Gros problème pour ma part ^^
 

Discussions similaires

Statistiques des forums

Discussions
312 248
Messages
2 086 595
Membres
103 252
dernier inscrit
Ersar