Macro qui force à imprimer avec PDFCreator

Bonjour,
Encore un petit soucis j'aimerais avec une macro excel imprimer par défaut sur PDFCreator voici ma macro qui imprime sur l'imprimante par défaut.. Merci de vos suggestions

Sub PrintPDF()

ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"

End Sub
Configuration: Windows 7 / Internet Explorer 7.0

5 réponses

  1. Bonjour,
    Tu peux utiliser l'évènement BeforePrint de ton classeur pour lancer ton impression, comme ça, c'est transparent pour l'utilisateur.
    0
    1. Salut j'ai pas trouvé comment utiliser cette commande dans mon classeur, aurait-tu une syntaxe d'exemple?

      Merci
      0
      1. Bonjour,
        Tu va das VBA, tu double-clic sir ThisWorkbook dans la fenêtre projet.
        Ensuite, tu tapes le code :
        Private Sub Workbook_BeforePrint(Cancel As Boolean)
        '
        ' Lancement de l'impression par PDFCreator
        Application.ActivePrinter = "PDFCreator sur Ne00:"
        ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,""PDFCreator sur Ne00:"",,TRUE,,FALSE)"
        '
        End Sub
        


        Il faut peut-être adapter en fonction de ta configuration. Pour connaître le code, tu utilises l'enregistreur de macro : tu t'assure que l'imprimante par défaut est une autre imprimante que PDFCreator, tu lance sl'enregistreur de macro, tu imprimes en utilisant PDFCreator, tu arrêtes l'enregistrement, tu récupères le code.
        0
      2. Personnellement j'ai essaué cela mais cela ne fonctionne pas. Le système veut avant tout sélectionner une imprimante et non pas le mode PDF...
        0
    2. Bonjour,

      en mettant à jour les informations portant sur les imprimantes, une petite macro Excel 2003:

      ----------------------------
      Sub PrintPdf()
      Application.ActivePrinter = "PDFCreator sur Ne00:" ' sélectionne ici l'imprimante Pdf à actualiser en fonction de la machine
      ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
      "PageManager PDF Writer sur Ne01:", Collate:=True
      Application.ActivePrinter = "Microsoft XPS Document Writer sur Ne02:" ' reselectionne ici l'imprimante par défaut à actualiser en fonction de la machine
      End Sub
      ---------------------------

      Voilà
      A+
      D D du 06
      0
      1. Hello merci bien pour les réponses, les deux fonctionnent bien, j'ai choisis la seconde qui corespond mieux à ma feuille.... un grand merci.
        0
        1. OK. Pense à mettre la discussion en statut Résolu :-)
          0