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 :

Imprimer un fichier sur plusieurs imprimantes [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Juin 2011
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Imprimer un fichier sur plusieurs imprimantes
    Bonjour,
    Windows XP SP3 x86 - Excel 2007

    Pour des raisons de sécurité, notre service HSQE nous demande la possibilité d'imprimer un tableau Excel (liste des personnes présentes sur le site) sur plusieurs imprimantes en 1 seul clic.
    Les imprimantes sont installées en local sur le poste XP. J'ai recherché et fait des tests en VBA, mais ca ne semble pas si évident.

    Merci pour votre aide,

    Guillaume.

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Et tu as essayé l'enregistreur de macros ? tu prends le code généré par l'enregistreur de macros en enlevant le code inutile style "select", "Activate", "ActiveSheet"....

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Juin 2011
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Bonjour,
    Et merci pour la réponse.
    J'ai tenté l'enregistreur de macro, voici le code généré lorsque j'imprime sur 2 imprimantes (1 laser et ensuite l'imprimante XPS) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub MULTI_IMPRESSION()
    '
    ' MULTI_IMPRESSION Macro
    '
     
    '
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
            IgnorePrintAreas:=False
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
            IgnorePrintAreas:=False
        ActiveWindow.SmallScroll Down:=-36
    End Sub
    Lorsque je lance la macro, les 2 impressions se lancent sur l'imprimante XPS.
    Il faudrait que je trouve un moyen d'envoyer une impression, en variabilisant le nom de l'imprimante.

    Merci pour votre aide,

    Guillaume.

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    il faut que tu lance l'enregistreur de macro avant de changer d'imprimante... et tu ne l'arrête qu'une fois que tu as effectué tes 2 impressions ..

    Tu devrais avoir un code du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Feuil1.PrintOut Copies:=1, ActivePrinter:="PDFCreator sur Ne00:"
    tu peu aussi trouver le nom de tes imprimante, en exécutant le code suivant dans la fenêtre exécution de l'éditeur VBA ( CTRL+G)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Debug.Print ActivePrinter

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Juin 2011
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Bonjour,
    Je viens de tester le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:="SHARP MX-2300N"
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:="Lexmark E342n"
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:="Microsoft XPS Document Writer"
    Ca me lance 3 impressions sur la même impriamte, à savoir l'imprimante par défaut.
    Si je modifie l'imprimante dans Excel puis que je lance l'enregistreur de macro, l'imprimante n'est pas indiquée dans le code VBA.

    PS1 : le nom utilisé dans le code correspond au nom indiqué dans les propriété de l'imprimante.

    PS2 : j'ai également essayé en mettant ":" à la fin du nom de l'imprimante comme dans ton exemple. Ca ne change pas le comportement.

    Merci,

    Guillaume.

  6. #6
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    le nom n'est pas le bon .. :
    Citation Envoyé par bbil
    tu peu aussi trouver le nom de tes imprimante, en exécutant le code suivant dans la fenêtre exécution de l'éditeur VBA ( CTRL+G)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Debug.Print ActivePrinter

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Juin 2011
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Bonjour,
    J'étais passé à côté du CTRL+G !
    Ca fonctionne. Merci pour ton aide.

    Guillaume.

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

Discussions similaires

  1. Imprimer un Jpanel sur plusieurs pages.
    Par Amrac dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 11/03/2007, 15h19
  2. [Swing] Imprimer des JeditorPane sur plusieurs pages ?
    Par bilou_lelapinou dans le forum AWT/Swing
    Réponses: 22
    Dernier message: 29/11/2006, 22h28
  3. Imprimer des pdf sur plusieurs imprimantes
    Par Peyotte dans le forum Delphi
    Réponses: 9
    Dernier message: 16/08/2006, 09h17
  4. Imprimer automatiquement fichiers de plusieurs formats
    Par lutin511 dans le forum Windows
    Réponses: 5
    Dernier message: 07/12/2005, 18h38
  5. [XSLT] - Trier un fichier sur plusieurs critères
    Par ytse dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 11/10/2005, 16h26

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