Sortir sans bug d'une annulation d'enregistrement d'impression PDF

Bonjour,

J'ai une procédure d'impression en PDF dirigée par CommandButton1 dans l'Userform2.

Private Sub CommandButton1_Click()
'en ayant manuellement désigné Microsoft Print to PDF ou PDFCreator comme imprimante par défaut et sélectionné format paysage si nécessaire dans les Paramètres Windows
userform2.PrintForm
Unload Me
End Sub

Au click du bouton, la fenêtre "Enregistrer l'impression sous" s'ouvre, on peut nommer le document, type Document PDF, et cliquer Enregistrer: tout va bien.

Par contre, si, au lieu de cliquer Enregistrer, on clique Annuler, on obtient une alerte "Erreur d'exécution 482, Erreur d'imprimante".
Comment obtenir de sortir de la procédure d'impression en cas de click Annuler ?

La boucle suivante ne convient pas:

If Application.Dialogs(xlDialogSaveAs).Show = False Then Exit Sub
Else
'userform2.PrintForm
End If

En particulier xlDialogSaveAs n'est pas l'objet voulu et l'ordre n'est peut-être pas correct...

Merci de votre aide...

Bonjour,

Dans votre cas, ce serait pas plutôt

If not Application.Dialogs(xlDialogPrint).Show = False then
    userform2.PrintForm
end if

qu'il vous faudrait ?

Cdlt,

Bonjour 3GB,

Merci pour votre réponse. Avec les lignes que vous proposez, j'obtiens :

- la boite de dialogue de choix d'imprimante "Imprimer",

- si je clique OK dans cette boite, j'obtiens la possibilité d'enregistrer successivement 2 documents PDF :
* curieusement la feuille 1 du classeur, ce qui n'était pas voulu,
* et le Userform2 désiré.

- si je clique Annuler dans cette boite, je sors correctement de la procédure du CommandButton.

Avec ma procédure originale, j'obtiens bien :
- la bonne boite de dialogue "Enregistrer l'impression sous",
- et un seul document correct si je fais "Enregistrer",
- par contre "Erreur d'exécution" si je fais "Annuler" dans cette boite.

D'où mon idée de trouver le nom de cette boite correcte, Application.Dialogs(?????????), ce que je ne trouve pas.

Ai-je été plus clair ?

Merci encore pour vos idées.

Cdt

Honnêtement, c'est pas ma tasse de thé. Si j'étais vous, j'essaierais de garder la boite de dialogue saveas et de rajouter un on error resume next avant la condition If pour essayer d'éviter le message en cas d'annulation...

J'espère que vous obtiendrez une meilleure réponse.

Merci 3GB,

Votre solution on error resume next fonctionne très bien, j'ai appris une nouvelle astuce !

Private Sub CommandButton1_Click()

'en ayant manuellement désigné Microsoft Print to PDF ou PDFCreator comme imprimante par défaut et sélectionné format paysage si nécessaire dans les Paramètres Windows

On Error Resume Next 'Evite le message d'erreur si click Annuler dans la boite de dialogue "Enregistrer l'impression sous"
userform2.PrintForm

Unload Me
End Sub

Merci beaucoup,

Bonne soirée.

Super ! J'ai un peu sorti ma carte joker parce que je crois que les alternatives sont complexes...

Merci et bonne soirée à vous aussi !

Rechercher des sujets similaires à "sortir bug annulation enregistrement impression pdf"