feuille excel en pdf ?

alucard_xs

XLDnaute Occasionnel
Bonjour,

voilà je souhaitairai exporter la feuille 1 d'un fichier se trouvant dans d:\essai en fichier excel dans un repertoire d:\essai2, par contre pas moyen de trouver un programme de conversion

Si vous avez des infos je suis prenneur

Merci
 

alucard_xs

XLDnaute Occasionnel
Re : feuille excel en pdf ?

voici ce que j'ai dans ma boucle :

Code:
While Nomfichier <> ""
     
    chemin_et_fichier = NomRep1 & "\" & Nomfichier
    MsgBox chemin_et_fichier
    Dim CL1 As Workbook
    Dim CL2 As Workbook
    Workbooks.Open (chemin_et_fichier)
    DoEvents
    Set CL1 = ActiveWorkbook
    Workbooks.Open (fichier_demo)
    DoEvents
    Set CL2 = ActiveWorkbook
    CL1.Worksheets(1).Range("A1:CG36").Copy CL2.Worksheets("feuille3").Range("A1")
    DoEvents
    ActiveWorkbook.SaveAs Filename:=NomRep2 & "\" & "f_" & Nomfichier, FileFormat:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
    DoEvents
    SendKeys NomRep3 & "\" & "pdf_" & Nomfichier + "~"
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:="Adobe PDF", Collate:=True
    CL2.Close False
    DoEvents
    CL1.Close False 'ferme le fichier d:\essai\Fichier1.xls sans enregistrer
    DoEvents
    Set CL1 = Nothing
    Set CL2 = Nothing

il me lance "création du fichier adobe pdf mais ça ne bouge pas, mes repertoires ont un nombre de caracteres assez important, est ce à cause de cela ?
 

alucard_xs

XLDnaute Occasionnel
Re : feuille excel en pdf ?

j'ai mis cela, ça me cree bien mon pdf mais impossible à le relire, il me dit que mon fichier a une erreur ...

CL2.Worksheets("feuil3").Range("A1").PrintOut Copies:=1, ActivePrinter:="Adobe PDF", PrintToFile:=True, prtofilename:=NomRep3 & "\" & Nomfichier & ".pdf"
 

kiki29

XLDnaute Barbatruc
Re : feuille excel en pdf ?

j'ai mis cela, ça me cree bien mon pdf mais impossible à le relire, il me dit que mon fichier a une erreur ...

CL2.Worksheets("feuil3").Range("A1").PrintOut Copies:=1, ActivePrinter:="Adobe PDF", PrintToFile:=True, prtofilename:=NomRep3 & "\" & Nomfichier & ".pdf"
Je suppose que tu as Acrobat Distiller ?
Dans ce cas avec Adobe Pdf par défaut les fichiers Pdf sont générés via un port toujours au même endroit et PrToFileName:=... provoque une erreur, le fichier généré est un fichier PS ( PostScript ) et non un Pdf

Sinon code à adapter , à placer dans un Module, Sauver le Classeur avant de lancer Tst

Code:
Option Explicit
 
'   sous VBA Menu Outils | Références
'   Cocher Acrobat Distiller
 
Sub Tst()
Dim sNomFichierPS As String
Dim sNomFichierPDF As String
Dim PDFDist As PdfDistiller
Dim ws As Worksheet
 
    sNomFichierPS = ThisWorkbook.Path & "\Essai_Distiller.ps"
    Set PDFDist = New PdfDistiller
    
    For Each ws In Worksheets
       ws.Select
 
       sNomFichierPDF = ThisWorkbook.Path & "\" & ws.Name & ".pdf"
	       
       ActiveSheet.PrintOut copies:=1, Preview:=False, _
           ActivePrinter:="Acrobat Distiller", PrintToFile:=True, _
           Collate:=True, PrToFileName:=sNomFichierPS
    
       PDFDist.FileToPDF sNomFichierPS, sNomFichierPDF, ""
       
       Kill sNomFichierPS
       Kill ThisWorkbook.Path & "\" & ws.Name & ".log"
    
    Next ws
    
    Set PDFDist = Nothing
End Sub
 
Dernière édition:

Épaf

XLDnaute Occasionnel
Re : feuille excel en pdf ?

:cool:Acrobat distiller est payant, je ne pense pas que ce soit ce que tu veux.
Je n'utilise pas Pdfmaker mais PdfCreator (tu peux le télécharger ici) n'ai pas le temps de développer car il y a des paramètres à préciser, mais pour le principe :
Code:
Sub TestPdf()
Dim PrinterParDefaut$
    'Mémoriser le nom de l'imprimante active
    PrinterParDefaut = Application.ActivePrinter
    'Désigner PDFCreator comme imprimante par défaut
    Application.ActivePrinter = "PDFCreator sur Ne01:"

    'ou ************* Sélectionner la FEUILLE ***********
    Sheets("Feuil1").Select   'Nom de la feuille excel
    'Convertir la feuille
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
    "PDFCreator sur Ne01:", Collate:=True
    
    'ou ************ LA PLAGE *********************
    Range("A1").currentRegion.address
    Selection.PrintOut Copies:=1, ActivePrinter:= _
    "PDFCreator sur Ne01:", Collate:=True

    DoEvents
    'Rétablir l'imprimante par défaut
    Application.ActivePrinter = PrinterParDefaut
End Sub
Pour les paramètres, nom de fichier, chemin,... tu dois les avoir sur le lien que j'ai mis et là, je pense que d'autres pourrons t'aider.
Mais pour la base, le principe pour PDFCreator ou pdfmaker reste le même.
A ce soir
Bon après-midi

PS - Teste déjà ça, ça devrait fonctionner avec pdfmaker (en remplaçant pdfcreator dans le code) ça te donnera de l'assurance... si ça fonctionne
 
Dernière édition:

kiki29

XLDnaute Barbatruc
Re : feuille excel en pdf ?

A priori si tu as PDFMaker tu dois avoir Distiller, PDFCreator dans sa dernière version ( 0.9.3 ) a un gros probleme de process qui reste actif certaines fois, pas toujours.Ce probleme n'existait pas
dans les versions antérieures.

Et le code d'Epaf ne fonctionnera pas pour la raison que j'ai donné plus haut,si par hasard tu remplace PDFCreator par PdfMaker
 
Dernière édition:

Épaf

XLDnaute Occasionnel
Re : feuille excel en pdf ?

Alors dans ce cas là, c'est encore plus simple
Code:
Dim MonImprimanteParDéfaut, MonImprimantePDF
    MonImprimanteParDéfaut = Application.ActivePrinter
    MonImprimantePDF = "Acrobat Distiller sur Ne01:" ' Si tu as Acrobat Distiller...
    Application.ActivePrinter = MonImprimantePDF ' on active l'imprimante
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:="", Collate:=True
    DoEvents
'Ensuite, tu peux revenir sur 'MonImprimanteParDéfaut
    Application.ActivePrinter = MonImprimanteParDéfaut  'ré-active l'imprimante par défaut
Ce coup-ci @+

Edit
Pour les paramètres, tu vois avec MonImprimantePDF (désolé kiki, je ne suis pas retourné sur ton code qui, si PdfMaker va bien avec Distiller, devrait être adapté)... et là je suis vraiment en retard :(
 
Dernière édition:

kiki29

XLDnaute Barbatruc
Re : feuille excel en pdf ?

Sauf si tu veux maitriser le nom à donner à ton fichier Pdf ainsi que le chemin de sauvegarde du fichier Pdf, auquel cas voir plus haut
To alucard_xs : Ce n'est pas parce que l'on donne l'extension Pdf à un fichier que ce dernier est un Pdf, et dans ton cas il s'agit dun PS ( PostScript )
 

Discussions similaires

Réponses
11
Affichages
247

Statistiques des forums

Discussions
312 244
Messages
2 086 555
Membres
103 247
dernier inscrit
bottxok