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 :

changer l'imprimante par defaut


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    134
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 134
    Par défaut changer l'imprimante par defaut
    Bonjour,

    je souhaiterai effectué un code qui sauvegarde l'imprimante par défaut, la remplace par PDFCreator, convertis en PDF un document Word, puis remet l'imprimante initiale par défaut.

    J'ai essayé ceci sans succès..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
      'enregistre l'imprimante par defaut
                printerold = Application.ActivePrinter
     
                'définit PDFCreator comme imprimante par defaut
                Application.ActivePrinter = "PDFCreator sur Ne00:"
                'lance l'impression
                With WordApp
                   .ActiveDocument.PrintOut
                    .Documents.Close
                    .Quit
                End With
     
                Application.ActivePrinter = printerold
    J'ai aussi vu ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Application.ActivePrinter = "PDFCreator sur Ne00:"
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
            "PDFCreator sur Ne00:", Collate:=True
    Ca marche très bien pour les documents Excel mais pour Word je n'arrive pas à le mettre ne place..

    Quelqu'un peut-il m'aider svp. Merci d'avance.

  2. #2
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Je viens d'essayer pour toi,
    essayes ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub pdf()
    '
    ' pdf Macro
    ' Macro enregistrée le 01/07/2008 par Serveur
    '
        ActivePrinter = "PDFCreator"
        Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
            wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, _
            ManualDuplexPrint:=False, Collate:=True, Background:=True, PrintToFile:= _
            False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
            PrintZoomPaperHeight:=0
    End Sub
    ce que je viens de proposer n'est pas pour stipuler l'imp par défaut mais imprime le doc en pdf avec pdfcreator
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    134
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 134
    Par défaut
    J'ai testé et chez moi ça ne marche pas le code que tu m'as donné.

    Message : "Propriété ou méthode non géré par cet objet"
    Il marche bien chez toi?

  4. #4
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Ca marche impeccable,
    j'espere que tu as installé pdfcréator, au moins

    Au fait, j'ai trouvé le code simplement en enregistrant une macro dans word comme tu avais l'air de demander
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    134
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 134
    Par défaut
    Oui quand meme..

  6. #6
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    essaie comme j'ai fait, enregistre la macro dans "nouvelle macro" et regardes dans vba le résultat
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  7. #7
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    134
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 134
    Par défaut
    J'essaie de modifier cette lignes pour un documents Word :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
            "PDFCreator sur Ne00:", Collate:=True
    ce qui donnerai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    WordApp.ActiveDocument.PrintOut , ActivePrinter:= _
            "PDFCreator sur Ne00:", Collate:=True
    mais ça ne marche pas

    j'ai aussi essayé de faire un peu comme dans ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Application.PrintOut , ActivePrinter:= _
            "PDFCreator sur Ne00:", Collate:=True

  8. #8
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Par défaut
    Salut,

    voici un exemple de code pour word qui fonctionne (à adapter de CuteWRiter en PDFCreator).

    Attention c'est du VBA dans Word (pas appelé par excel) mais tu trouveras la réponse à ton problème.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Current_printer = Application.ActivePrinter
    Application.ActivePrinter = "CutePDF Writer"
    Application.PrintOut Copies:=1, FileName:=ActiveDocument.FullName, _
          PrintTofile:=True, Collate:=True, OutputFileName:=ps_fullname, _
          Pagetype:=wdPrintAllPages, Background:=False
     
     
    Application.ActivePrinter = Current_printer

  9. #9
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    134
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 134
    Par défaut
    Merci beaucoup, j'ai trouver la solution. Je la poste dessous :

    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
     'ouvre le document Word
                Set WordApp = CreateObject("Word.Application")
                WordApp.Visible = False
                fichier = Dir(repertoire & "\*.doc")
                WordApp.Documents.Open (repertoire & "\" & fichier)
     
                'lance l'impression
                With WordApp
                    'enregistre l'imprimante par defaut
                    imprimante_defaut = .Application.ActivePrinter
                    'change l'imprimante
                    .Application.ActivePrinter = "PDFCreator"
                    .Application.PrintOut
                    .Documents.Close
                    .Quit
                    'remet l'imprimante par defaut
                    .Application.ActivePrinter = imprimante_defaut
                End With
    Encore merci de votre aide et bonne journée, PC81

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. changer l'imprimante par defaut
    Par jmulans dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 23/04/2007, 17h52
  2. changer imprimante par defaut
    Par kayser dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/11/2006, 18h04
  3. [CR.NET] Imprimante par defaut sur PC client
    Par GTRANNECY dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 26/04/2005, 13h31
  4. Changer le thème par défaut
    Par Chance666 dans le forum GTK+ avec C & C++
    Réponses: 6
    Dernier message: 26/09/2003, 14h53
  5. [BP]Détermination de l'imprimante par défaut
    Par Alcatîz dans le forum Turbo Pascal
    Réponses: 9
    Dernier message: 01/06/2003, 10h52

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