Impression PDF multiples depuis onglets Excel
Résolu
Khrys001
Messages postés
6
Statut
Membre
-
Adrien -
Adrien -
Bonjour,
Je souhaiterais une macro me permettant d'imprimer tous les onglets d'un fichier Excel en fichier PDF nommé suivant le nom de l'onglet.
Merci d'avance
Khrys
Je souhaiterais une macro me permettant d'imprimer tous les onglets d'un fichier Excel en fichier PDF nommé suivant le nom de l'onglet.
Merci d'avance
Khrys
A voir également:
- Imprimer tous les onglets pdf
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Journal de naissance gratuit a imprimer - Télécharger - Histoire & Religion
- Save as pdf office 2007 - Télécharger - Bureautique
- Comment imprimer en a5 - Guide
- Texte de chanson gratuit pdf - Télécharger - Vie quotidienne
1 réponse
Bonjour,
si excel2007 et plus, adaptez le chemin
si excel2007 et plus, adaptez le chemin
Sub Macro2()
For x = 1 To Worksheets.Count
NO = Worksheets(x).Name
Worksheets(NO).ExportAsFixedFormat Type:=xlTypePDF, Filename:="D:\_Docs_Prog_Excel\Impression\" & NO & ".pdf", _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
Next x
End Sub
Super merci, mais serait-il possible d'intégrer une boite de dialogue pour définir l'emplacement?
Sub Macro2() 'Chemin contiendra le chemin de la sélection et 'choix prendra la valeur 0 pour rechercher uniquement les dossiers et 'n'importe quel autre valeur (de 1 à 255) pour rechercher un dossier ou un fichier. 'choix repertoire Dim choix As Byte choix = 0 Chemin = ChoixDossierFichier(choix) If Chemin <> "" Then For X = 1 To Worksheets.Count NO = Worksheets(X).Name Worksheets(NO).ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & "\" & NO & ".pdf", _ Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False Next X End If End Sub 'code trouve sur internet pour selection repertoire ou/et fichier Function ChoixDossierFichier(SelType As Byte) As String Dim objShell As Object, objFolder As Object Dim Chemin As String, Msg As String Dim FlagChoix As Long, NbPoint As Integer If SelType = 0 Then FlagChoix = &H1 Msg = "Selectionner un dossier :" Else FlagChoix = &H4000 Msg = "Selectionner un fichier :" End If Set objShell = CreateObject("Shell.Application") ' &h1 ' 1er paramètre toujours 0 (zéro). Il représente le handle de la fenêtre parent ' 2ème paramètre Titre de la boite, en dessous de la barre de titre ' 3ème paramètre options de BrowseForFolder ' 4ème paramètre Facultatif. Répertoire de début d'exploration On Error Resume Next Set objFolder = objShell.BrowseForFolder(&H0&, Msg, FlagChoix) 'Si l 'objet retourné est valide, on teste son contenu (item.title) 'Si on a sélectionné la racine d'une partition, il se compose du nom de la partition, ' suivi de sa lettre et ":" entre parenthèses NbPoint = InStr(objFolder.Title, ":") If NbPoint = 0 Then 'Sinon, il se compose du nom du dossier uniquement, sans le chemin précédent 'On récupère ce chemin à l'aide des propriété et méthode ParentFolder.ParseName Chemin = objFolder.ParentFolder.ParseName(objFolder.Title).Path & "" Else 'si racine on récupère la lettre du lecteur et les 2 points Chemin = Mid(objFolder.Title, NbPoint - 1, 2) End If ChoixDossierFichier = Chemin End FunctionJe l'ai utilisé sur un fichier à plusieurs onglets, par contre il ne tourne que pour les 6 premiers onglets et après il me marque Erreur '5' : Argument ou appel de procédure incorrect.
Avez vous une idée du problème ?
Merci d'avance