• Initiateur de la discussion Initiateur de la discussion jmcr
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

jmcr

XLDnaute Occasionnel
bonsoir le forum
voila mon problème je tente faire un macro avec un useforme pour sauvegarder mon dossier en pdf enfin avec le choix des feuille que je veux sauvegarder en pdf mais ma macro bug ligne en bleu j arrive pas a savoir je vous fournis le dossier en cause ou est l erreur pouvez vous m'aidé svp

avec tout ma gratitude
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=MonRepertoire & "\" & [NomPDF] & " _ " & DateExtraction, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
 

Pièces jointes

Salut, un exemple
Code:
Option Explicit

Private Function GetPrinterWithPort(ByVal sPrinterName As String) As String
Dim Reg As Variant, oReg As Object, Str As Variant
Dim Ar() As Variant, RegValue As Variant
Const HKEY_CURRENT_USER = &H80000001
    Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
    With oReg
        .enumvalues HKEY_CURRENT_USER, "Software\Microsoft\Windows NT\CurrentVersion\Devices", Str, Ar
        .getstringvalue HKEY_CURRENT_USER, "Software\Microsoft\Windows NT\CurrentVersion\Devices", Reg, RegValue
        .getstringvalue HKEY_CURRENT_USER, "Software\Microsoft\Windows NT\CurrentVersion\Devices", sPrinterName, RegValue
    End With
    GetPrinterWithPort = sPrinterName & " sur " & Mid$(RegValue, InStr(RegValue, ",") + 1)
End Function

Sub TstPdfCreator()
Dim sPrinter As String
Dim JobPDF As Object
Dim sNomPDF As String
Dim sCheminPDF As String
Dim Ar() As String, Cpt As Long, i As Long

    sNomPDF = "Essai"
    sCheminPDF = ThisWorkbook.Path & "\"
    sPrinter = GetPrinterWithPort("PDFCreator")

    Set JobPDF = CreateObject("PDFCreator.clsPDFCreator")
    JobPDF.cStart "/NoProcessingAtStartup"

    With JobPDF
        .cPrinterStop = True
        .cOption("UseAutosave") = 1
        .cOption("UseAutosaveDirectory") = 1
        .cOption("AutosaveDirectory") = sCheminPDF
        .cOption("AutosaveFilename") = sNomPDF

        '   0 PDF   1 PNG   2 JPEG  3 BMP       4 PCX       5 TIFF
        '   6 PS    7 EPS   8 TXT   9 PDF/A-2B  10 PDF/X    11 PSD
        '   12 PCL  13 RAW  14 SVG

        .cOption("AutosaveFormat") = 0
        .cOption("PDFGeneralAutorotate") = 0
        .cClearCache
    End With

    ' Pour n'imprimer que certaines feuilles du classeur
    Cpt = 0: Erase Ar
    For i = 1 To ThisWorkbook.Sheets.Count
        If Left$(ThisWorkbook.Sheets(i).Name, 6) = "Feuil1" Or _
           Left$(ThisWorkbook.Sheets(i).Name, 6) = "Feuil2" Then
            ReDim Preserve Ar(Cpt)
            Ar(Cpt) = Sheets(i).Name
            Cpt = Cpt + 1
        End If
    Next i

    If Cpt = 0 Then
        Set JobPDF = Nothing
        Exit Sub
    End If

    Application.ScreenUpdating = False
    Sheets(Ar).Select
    Sheets(Ar).PrintOut copies:=1, ActivePrinter:=sPrinter
    '    Sheets(Array("Feuil1", "Feuil2")).PrintOut copies:=1, ActivePrinter:=sPrinter
    Worksheets(1).Select
    Erase Ar
    Application.ScreenUpdating = True
    DoEvents

    '   Fichier dans la file d'attente
    Do Until JobPDF.cCountOfPrintjobs = 1
        DoEvents
    Loop
    '   Démarrage Imprimante
    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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
6
Affichages
305
  • Question Question
Microsoft 365 Problème macro
Réponses
4
Affichages
392
Réponses
3
Affichages
1 K
Réponses
3
Affichages
844
Réponses
10
Affichages
745
Réponses
6
Affichages
509
W
Retour