XL 2010 annuler impression sans blocage macro

  • Initiateur de la discussion Initiateur de la discussion gh4
  • 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 !

gh4

XLDnaute Occasionnel
bonjour a tous,
dans mon prog je lance une impression pdf. par
Application.ActivePrinter = "Microsoft Print to PDF sur Ne03:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:="Microsoft Print to PDF sur Ne03:", PrintToFile:=True, Collate:=True
la boite de dialogue Windows s'affiche "enregistrer" "annuler"
si je clique sur "Annuler" le prog se bloque sur
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:="Microsoft Print to PDF sur Ne03:", PrintToFile:=True, Collate:=True
avez vous une idée pour contourner ce problème
par avance merci
cdt
 

Pièces jointes

Solution
Bonjour gh4, JM,
si je clique sur "Annuler" le prog se bloque sur
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:="Microsoft Print to PDF sur Ne03:", PrintToFile:=True, Collate:=True
Alors introduisez On Error Resume Next :
VB:
On Error Resume Next
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:="Microsoft Print to PDF sur Ne03:", PrintToFile:=True, Collate:=True
A+
Bonjour @gh4, le fil

@gh4
Essaie ce bout de code (pour test pour le moment)
Sur une feuille non vide, lance cette macro
VB:
Sub Lancer_Choix_Imprimante()
Application.CommandBars.ExecuteMso "PrintPreviewAndPrint"
End Sub
Que se passe-t-il sur ton PC ?

NB: Sur Office 365, je peux Annuler sans avoir de message d'erreur
 
Bonjour @gh4, le fil

@gh4
Essaie ce bout de code (pour test pour le moment)
Sur une feuille non vide, lance cette macro
VB:
Sub Lancer_Choix_Imprimante()
Application.CommandBars.ExecuteMso "PrintPreviewAndPrint"
End Sub
Que se passe-t-il sur ton PC ?

NB: Sur Office 365, je peux Annuler sans avoir de message d'erreur
bonjour Staple 1600
toujours en excel 2003
la macro bloque sur Execute MSO
Message VBA "erreur de compilation membre de methode ou de donnes intouvable"
 
Bonjour gh4, JM,
si je clique sur "Annuler" le prog se bloque sur
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:="Microsoft Print to PDF sur Ne03:", PrintToFile:=True, Collate:=True
Alors introduisez On Error Resume Next :
VB:
On Error Resume Next
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:="Microsoft Print to PDF sur Ne03:", PrintToFile:=True, Collate:=True
A+
 
Re , Bonjour @job75

@gh4
Et avec ceci, il passe quoi sur Excel 2003 ?
Code:
Sub Choix_Imprimante()
Application.Dialogs(xlDialogPrint).Show
End Sub
NB: Sur mon PC, je peux cliquer sur Annuler
(Imprimante par défaut chez moi : Microsoft Print to PDF)
merci staple1600 pour ton aide job75 à trouver la solution
cela marche parfaitement
désolé pour le dérangement mais un grand merci quand même
 
Pour imprimer un fichier Excel en PDF on utilise en général cette macro :
VB:
Sub PDF()
If MsgBox("Imprimer en PDF ?", 4) = 6 Then _
    ActiveSheet.ExportAsFixedFormat xlTypePDF, Left(ThisWorkbook.FullName, InStrRev(ThisWorkbook.FullName, ".")) & "pdf"
End Sub
Le fichier Excel doit avoir été enregistré, plusieurs feuilles peuvent être sélectionnées.
 
Bonjour @job75

@gh4 utilise Excel 2003
C'est pour cela que ma proposition dans sa précédente discussion boguait
(ActiveSheet.ExportAsFixedFormat disponible que depuis Excel 2007, en addon)

Voir ici pour la discussion en question
 
- 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
21
Affichages
1 K
Réponses
10
Affichages
547
Réponses
1
Affichages
1 K
Réponses
1
Affichages
1 K
Retour