Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
Bonjour Jecherche et merci pour ton aide !

Ah oui, effectivement ça règle en partie le problème !
En revanche, par la suite, je reçois un nouveau message me disant "Argument ou appel de procédure incorrect" :/
 

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
 

troopers87

XLDnaute Occasionnel
Hum, je ne connais pas "Option Explicite", qu'est-ce que ça signifie ?

Dans tous les cas, ça fonctionne parfaitement, je te remercie beaucoup ! Je suis vraiment admiratif de la facilité avec laquelle vous produisez ces codes Bravo !
 

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 ^^
 

troopers87

XLDnaute Occasionnel
Arf, j'ai peur qu'on ne se comprenne pas (difficile sans discuter de vive voix ^^).

Voici en pièce jointe un fichier d'exemple assez simple je pense pour que ce soit plus explicite.
 

Pièces jointes

  • Classeur1.xlsm
    24.5 KB · Affichages: 54

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…