Signaler

Impression avec pdf creator vba Excel [Résolu]

Posez votre question PYGOS69 68Messages postés jeudi 23 août 2012Date d'inscription 11 mai 2017 Dernière intervention - Dernière réponse le 20 mai 2017 à 17:29 par GermPeru
Bonjour,

Je souhaite, à partir d'une macro, enregistrer une feuille Excel , au format PDF avec l'imprimante "PDF CREATOR", qui n'est pas l'imprimante par défaut.

Je n'utilise pas le format pdf, proposé par excel, car j'obtiens un fichier pdf de (500ko) alors que si j'utilise l'imprimante pdf créator , le fichier ne fait que 170 ko.

Je précise que cette feuille est utilisée par plusieurs utilisateurs dans une entreprise....

Demande :

à partir d'un bouton (macro), je souhaite que vba enregistre sur le bureau de l'utilisateur un fichier au format pdf, de la feuille active, avec comme nom :

le nom sera toujours : PJ_IJ.pdf

A chaque activation de la macro, vba devra remplacer le fichier existant sur le bureau, si un fichier existe déjà.......

Merci d'avance pour votre aide.....

Afficher la suite 
Utile
+0
plus moins
Bonjour,

Petit probleme avec PDFCreator, plus possible de donner le chemin pour les fichier par programmation, il faudrait donc definir dans les parametres de profil le chemin par defaut. Pour le reste, selection PDFcreator pour sauvegarde fichier et remettre l'imprimante de depart ca ne pose aucun probleme

PYGOS69 68Messages postés jeudi 23 août 2012Date d'inscription 11 mai 2017 Dernière intervention - 24 juin 2016 à 18:33
Merci !

Peux t on éviter les 3 boites de dialogue ?

Le nom reste le nom du fichier et non PJ_IJ.pdf est-ce normal ?

Encore Merci !
Répondre
f894009 11649Messages postés dimanche 25 novembre 2007Date d'inscription 21 mai 2017 Dernière intervention - 25 juin 2016 à 07:39
Bonjour,

Vous connaissez un peu la programmation VBA excel ??????

Peux t on éviter les 3 boites de dialogue ?
voir f894009 - 24 juin 2016 à 07:56

Le nom reste le nom du fichier et non PJ_IJ.pdf est-ce normal ?
Vous avez change le chemin par defaut dans les parametres de PDFCreator ???

Pour la mise au point, mettez les lignes de code On Error en commentaire afin d'avoir les erreurs
Répondre
PYGOS69 68Messages postés jeudi 23 août 2012Date d'inscription 11 mai 2017 Dernière intervention - 25 juin 2016 à 10:04
Bonjour,

Oui merci, tout fonctionne, mais j'ai indiqué le nom du chemin :

C:\Users\Pygos\Desktop

Je pensais que la macro pouvait le faire automatiquement.....

Encore merci et bonne journée !
Répondre
GermPeru 98Messages postés mercredi 7 décembre 2016Date d'inscription 20 mai 2017 Dernière intervention f894009 - 20 mai 2017 à 14:57
Merci exactement ce que je cherchais! Parfait je dirais meme :)
Répondre
GermPeru 98Messages postés mercredi 7 décembre 2016Date d'inscription 20 mai 2017 Dernière intervention - 20 mai 2017 à 17:29
Bonjour f894009,

Je ene sais pas sis tu suis tjs le fil de la discution, mon probleme est le suivant:

Je cherchea selectionner l´imprimante suivante:
CutePDF en CPW2:

Je ne comprends pas trop pk du CPW, enfin bref j´ai changé le nom c´est pas le soucis, mais quand je procede a la boucle, elle se trouve en 4iem position donc pb avec le nom.

Application.ActivePrinter = Imprimante.Name & " en CPW" & Format(CPW, "0:")

J´ai essayé d adapter ton code a mes besoisn et avec mes connaissance car je cherche juste a asigner le nom de l´imprimante.

Function Imp_PDF() As Boolean
    Dim strcomputer As String
    Dim objetWMI As Object, ImprimantesDispo As Object, Imprimante As Object
    Dim CPW As Byte

    Set objetWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
    'liste les drivers imprimantes installés sur le poste
    Set ImprimantesDispo = objetWMI.ExecQuery("Select * from Win32_Printer")
    CPW = 0
    For Each Imprimante In ImprimantesDispo
        If Imprimante.Name Like "CutePDF*" Then
            Application.ActivePrinter = Imprimante.Name & " en CPW" & Format(CPW, "0:")
            Imp_PDF = Application.ActivePrinter
            Exit For
        End If
        CPW = CPW + 1
    Next
 End Function


Merci d´avance
Répondre
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !