IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Sélectionner l'imprimante virtuelle "PDF CREATOR"


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 215
    Points : 523
    Points
    523
    Par défaut Sélectionner l'imprimante virtuelle "PDF CREATOR"
    Bonjour,

    J'ai créé une macro qui :
    extrait dans un nouveau classeur des données de ma base de données puis qui l'imprime en PDF.

    Mon problème est le suivant :
    Dans mon entreprise nous travaillons sur un serveur unique sur lequel nous avons des imprimantes en réseau.
    Ce réseau nous mais par défaut l'imprimante X au démarrage des ordis.

    Lorsque j'ai crée ma macro, j'ai sélectionné l'imprimante virtuelle "PDF Creator" me permettant d'avoir mon extraction en version PDF.
    Cette instruction n'apparait pas dans la macro.

    Je voudrais donc forcer "excel" à imprimer en PDF sans que j'aille mettre cette imprimante par défaut ou si cela n'est pas possible, avoir une boite de dialogue me proposant de choisir l'imprimante sur le serveur, en l'occurrence PDF Creator

    Slts

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Points : 5 901
    Points
    5 901
    Par défaut
    Bonjour,

    Tu pourrais essayer ceci.
    Ici, nous sommes en réseau et j'ai besoin de me brancher à l'imprimante "Microsoft XPS Document Writer" pour accélérer le processus de mise en page.
    Ça devrait donc fonctionner pour toi moyennant peut-être quelques modifications

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
        Dim sActivePrinter As String
     
        sActivePrinter = Application.ActivePrinter
        Application.ActivePrinter = FindPrinter("PDF Creator")
        'traitement
        Application.ActivePrinter = sActivePrinter
     
    'Written: November 28, 2009
    'Author:  Leith Ross
    'Summary: Finds a printer by name and returns the printer name and port number.
     
    Function FindPrinter(ByVal PrinterName As String) As String
     
     'This works with Windows 2000 and up
     
        Dim Arr As Variant
        Dim Device As Variant
        Dim Devices As Variant
        Dim Printer As String
        Dim RegObj As Object
        Dim RegValue As String
     
        Const HKEY_CURRENT_USER = &H80000001
     
        Set RegObj = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
        RegObj.enumvalues HKEY_CURRENT_USER, "Software\Microsoft\Windows NT\CurrentVersion\Devices", Devices, Arr
     
        For Each Device In Devices
            RegObj.getstringvalue HKEY_CURRENT_USER, "Software\Microsoft\Windows NT\CurrentVersion\Devices", Device, RegValue
     
            If Application.International(xlCountrySetting) = 33 Then
                Printer = Device & " sur " & Split(RegValue, ",")(1)
            Else
                Printer = Device & " on " & Split(RegValue, ",")(1)
            End If
     
            If InStr(1, Printer, PrinterName, vbTextCompare) > 0 Then
                FindPrinter = Printer
                Exit Function
            End If
        Next
     
    End Function

  3. #3
    Membre confirmé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 215
    Points : 523
    Points
    523
    Par défaut
    Merci PARMI pour ta réponse,
    mais là, c'est hors de mes compétence de pouvoir modifier ce code surtout que je vois qu'il y a des modif de base de registre et que cela est impossible car notre systeme d'exploitation est vérouillé (aucune modif possible)

    En espérant d'autres réponses des membres du forum

    Encore merci PARMI

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Points : 5 901
    Points
    5 901
    Par défaut
    Ce ne sont pas des modifs de base de registre, mais des clefs pour la lecture de celle-ci.
    Ici aussi je suis en réseau, et très protégé...
    Je n'ai aucunement accès à la base de registre.

Discussions similaires

  1. imprimante virtuelle PDF gardant les liens html
    Par jalex-jalex dans le forum Autres Logiciels
    Réponses: 0
    Dernier message: 15/12/2010, 18h43
  2. Générer un PDF sans imprimante virtuelle
    Par slylafone dans le forum C++Builder
    Réponses: 30
    Dernier message: 01/12/2008, 10h55
  3. Incompatibilité imprimante / PDF Creator
    Par veevee dans le forum Windows 2000/Me/98/95
    Réponses: 2
    Dernier message: 09/04/2008, 22h23
  4. Générer un PDF sans imprimante virtuelle
    Par slylafone dans le forum Windows
    Réponses: 2
    Dernier message: 27/12/2007, 19h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo