Impression avec pdf creator vba Excel [Résolu/Fermé]

Signaler
Messages postés
184
Date d'inscription
jeudi 23 août 2012
Statut
Membre
Dernière intervention
6 juillet 2020
-
Messages postés
172
Date d'inscription
mercredi 7 décembre 2016
Statut
Membre
Dernière intervention
27 mars 2018
-
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.....

1 réponse

Messages postés
15267
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
8 août 2020
1 323
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

Messages postés
184
Date d'inscription
jeudi 23 août 2012
Statut
Membre
Dernière intervention
6 juillet 2020
2 >
Messages postés
15267
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
8 août 2020

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 !
Messages postés
15267
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
8 août 2020
1 323 >
Messages postés
184
Date d'inscription
jeudi 23 août 2012
Statut
Membre
Dernière intervention
6 juillet 2020

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
Messages postés
184
Date d'inscription
jeudi 23 août 2012
Statut
Membre
Dernière intervention
6 juillet 2020
2 >
Messages postés
15267
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
8 août 2020

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 !
Messages postés
172
Date d'inscription
mercredi 7 décembre 2016
Statut
Membre
Dernière intervention
27 mars 2018
>
Messages postés
15267
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
8 août 2020

Merci exactement ce que je cherchais! Parfait je dirais meme :)
Messages postés
172
Date d'inscription
mercredi 7 décembre 2016
Statut
Membre
Dernière intervention
27 mars 2018

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