faire une copie PDF de la feuille active

pascal21

XLDnaute Barbatruc
bonsoir le forum
j'ai une macro qui me permet de faire une copie de la zone ("A1:Y58") puis d'effacer le contenu de certaines cellules de cette même zone
j'aimerais faire une copie PDF de cette zone avec pour nommant cette copie avec le contenu de la cellule S5
comment réaliser cela si c'est possible?
je n'ai pas trouver comment faire avec l'enregistreur de macro
merci à vous
ps je ne pense pas que vous ayez besoin de fichier pour illustrer cette demande
au cas où, faites le savoir
merci
 
Dernière édition:

kiki29

XLDnaute Barbatruc
Re : faire une copie PDF de la feuille active

Salut, via Gog pour XLD Google

Sinon si tu as Acrobat Distiller voir Excel vers PDF avec Acrobat Distiller [FAQ] - Forum des professionnels en informatique

Pour PDFCreator ( gratuit )
téléchargement sur pdfforge.org | The free PDF Creator and Converter
Après installation dans dossier par défaut C:\Program Files\PDFCreator
il y a qqs paramètres à régler via le menu Imprimante/Options de l'exécutable PDFCreator.exe

Après tu as l'enregistreur de macros
 

Pièces jointes

  • IMG785.jpg
    IMG785.jpg
    67.5 KB · Affichages: 129
Dernière édition:

pascal21

XLDnaute Barbatruc
Re : faire une copie PDF de la feuille active

bonjour Kiki29
j'ai déjà PDFcréator
par contre je ne trouve pas la possibilité de la faire avec l'enregistreur car je ne trouve pas "exporter vers pdf dans le menu d'excel
j'ai pompé déja ça sur le forum et ça fonctionne
il faudrait maintenant que la boite de dialogue n'apparaisse pas et que le pdf soit nommé avec le contenu de ("s5")
Application.ActivePrinter = "PDFCreator sur Ne00:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"PDFCreator sur Ne00:", Collate:=True
 

kiki29

XLDnaute Barbatruc
Re : faire une copie PDF de la feuille active

Salut, voir copie d'écran en pJ dans mon post pour parametrage PDFDCreator

Par contre le 00 de Ne00 peut changer si tu lances ta macro sur un autre PC , cela dépend de l'ordre d'installation des pilotes d'imprimantes, car PDFCreator est une imprimante virtuelle comme Acrobat d'ailleurs

Sinon il faut passer par qqch comme ceci, à adapter à ton contexte

Code:
Option Explicit

Sub TstPdfCreator()
Dim JobPDF As Object
Dim sNomPDF As String
Dim sCheminPDF As String
    
    sNomPDF = Feuil1.Range("S5") & ".pdf"
    sCheminPDF = ThisWorkbook.Path & "\"

    Set JobPDF = CreateObject("PDFCreator.clsPDFCreator")

    With JobPDF
        If .cStart("/NoProcessingAtStartup") = False Then
            MsgBox "Initialisation de PDFCreator impossible", vbCritical + vbOKOnly, "PDFCreator"
            Exit Sub
        End If
        .cOption("UseAutosave") = 1
        .cOption("UseAutosaveDirectory") = 1
        .cOption("AutosaveDirectory") = sCheminPDF
        .cOption("AutosaveFilename") = sNomPDF
        
        '   0=PDF, 1=Png, 2=jpg, 3=bmp, 4=pcx, 5=tif, 6=ps, 7=eps, 8=txt
        .cOption("AutosaveFormat") = 0
        .cClearCache
    End With

    ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:="PDFCreator sur Ne00:", Collate:=True

    '   Fichier dans la file d'attente
    Do Until JobPDF.cCountOfPrintjobs = 1
        DoEvents
    Loop
    JobPDF.cPrinterStop = False

    '   Attendre que la file d'attente soit vide
    Do Until JobPDF.cCountOfPrintjobs = 0
        DoEvents
    Loop
    
    JobPDF.cClose
    Set JobPDF = Nothing
End Sub
 
Dernière édition:

pascal21

XLDnaute Barbatruc
Re : faire une copie PDF de la feuille active

re
j'ai bien réglé les options comme tu le montre
avec cette macro (le petite que j'ai montré plus haut) ça fonctionne j'ai bien la création du pdf mais je ne trouve rien dans "enregistrer sous" du menu "fichier"
 
Dernière édition:

kiki29

XLDnaute Barbatruc
Re : faire une copie PDF de la feuille active

Re, il ne s'agit pas d'Excel 2007 ou le PDF est intégré en natif et comme dit plus haut il s'agit d'une imprimante virtuelle et donc cela passe par le menu d'impression
 
Dernière édition:

pascal21

XLDnaute Barbatruc
Re : faire une copie PDF de la feuille active

je viens de faire un essai avec excel 2007 (que je n'utilise quasi jamais) lol
on peut effectivement créer une macro pour convertit en pdf
par contre il me manque la partie pour renommer le pdf avec la cellule s5
je ne sais pas comment faire
Sub pdf()
Range("A1:Y57").Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Documents and Settings\pascal\Mes documents\FEUILLE DE POINTAGES VIERGE.pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
End Sub
là ça porte le nom du fichier excel
 
Dernière édition:

pascal21

XLDnaute Barbatruc
Re : faire une copie PDF de la feuille active

kiki29
la macro que tu as proposé semble bloquer avec pdfcréator
au bout de 1 à 2 minutes j'ai un message me disant que excel attend la fin de l'exécution d'une application OLE (?)
c'est confirmé dans le gestionnaire de taches il y a 'pas de réponse" sur la ligne PDFCreator
doit manquer quelque chose chez moi
 

pascal21

XLDnaute Barbatruc
Re : faire une copie PDF de la feuille active

Sub pdf()
Range("A1:Y57").Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Sheets("pointages").Range("S5") & ".pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
End Sub
là ça me met "variable non définie" x1TypePDF surligné
pfffffffffffffffff!!!! je désespère
là c'est sur 2003
sur 2007 j'ai document "non enregistré"
 
Dernière édition:

kiki29

XLDnaute Barbatruc
Re : faire une copie PDF de la feuille active

Re, Sous 2003 c'est normal cela n'est valable qu'à partir de 2007 et +
la zone d'impression ayant été définie et S5 non vide
Code:
Option Explicit

Sub Tst_2007()
Dim sNomFichierPDF As String
 
    sNomFichierPDF = ThisWorkbook.Path & "\" & Feuil1.Range("S5") & ".pdf"
 
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sNomFichierPDF _
        , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False, OpenAfterPublish:=False
 
End Sub
 
Dernière édition:

Discussions similaires