XL 2019 Export PDF - OpenAfterPublish:= _True - bloquer l'ouverture en cas d'abandon

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 !

Calizarine

XLDnaute Nouveau
Dans la macro pour enregistrer en PDF, j'ai choisi OpenAfterPublish:= _True, le souci est que si je ferme la macro en cours de route, parce que je change d'avis et que je ne veux plus sauvegarder l'export, le PDF s'affiche quand même.
J'ai bien essayé avec
VB:
If fileSaveName = "" Then Exit Sub
, à divers endroits, mais ça ne fonctionne pas.
La macro est affectée à un bouton.
PS : je suis novice (très).

VB:
Sub Enregistrer_PDF_onglet_Devis()

Dim fileSaveName As String
Dim numero As String
Dim nom As String
Dim chemin As String

numero = [C22]
nom = [H14]
chemin = "C:\Users\Veronique\Documents\MAISON COL\Fichier clients\"

If Len(Dir(chemin, vbDirectory)) > 0 Then
fileSaveName = Application.GetSaveAsFilename(chemin & "\" & numero & " " & nom, "Fichier PDF (*.pdf), *.pdf")
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
fileSaveName, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _True
End If
MsgBox "Enregistrer en PDF", vbInformation, "Enregistrement en PDF"
End Sub
 
Bonjour,

Je ne suis pas certain d'avoir totalement compris la question, mais je propose ceci :
VB:
Sub Enregistrer_PDF_onglet_Devis()
'
Dim fileSaveName As String
Dim numero As String
Dim nom As String
Dim chemin As String

    numero = [C22]
    nom = [H14]
    chemin = "C:\Users\Veronique\Documents\MAISON COL\Fichier clients\"

    If Len(Dir(chemin, vbDirectory)) > 0 Then
        fileSaveName = Application.GetSaveAsFilename(chemin & numero & " " & nom, "Fichier PDF (*.pdf), *.pdf")
        If fileSaveName = False Then Exit Sub
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=fileSaveName, Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
        MsgBox "Enregistré en PDF", vbInformation, "Enregistrement en PDF"
    End If

End Sub
 
Bonjour,

Je ne suis pas certain d'avoir totalement compris la question, mais je propose ceci :
VB:
Sub Enregistrer_PDF_onglet_Devis()
'
Dim fileSaveName As String
Dim numero As String
Dim nom As String
Dim chemin As String

    numero = [C22]
    nom = [H14]
    chemin = "C:\Users\Veronique\Documents\MAISON COL\Fichier clients\"

    If Len(Dir(chemin, vbDirectory)) > 0 Then
        fileSaveName = Application.GetSaveAsFilename(chemin & numero & " " & nom, "Fichier PDF (*.pdf), *.pdf")
        If fileSaveName = False Then Exit Sub
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=fileSaveName, Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
        MsgBox "Enregistré en PDF", vbInformation, "Enregistrement en PDF"
    End If

End Sub
Ca fonctionne nickel si je choisi de ne pas sauvegarder le PDF, mais affiche "Erreur d'execution '13' quand je tente de l'enregistrer.
 

Pièces jointes

- 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
3
Affichages
534
Réponses
10
Affichages
477
Retour