gestion imprimante

GHISLAIN

XLDnaute Impliqué
bonsoir a tous ,

voila j'utilise une imprimante reseau pour un dossier excel avec le code suivant :

Application.ActivePrinter = "Xerox Phaser 8550DP PS sur Ne00:"
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=3, _
ActivePrinter:="Xerox Phaser 8550DP PS sur Ne00:", Collate:=True



j aurais deux questions
1 - revenir a l imprimante par defaut sur le PC utilisé
2 - si pas d'imprimante disponible enregistrer mon doc





j ai donc pensé a ce code :

je garde ce code pour imprimer : (nb il me faut obligatoirement cette imprimante pour imprimer ce doc)

Application.ActivePrinter = "Xerox Phaser 8550DP PS sur Ne00:"
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=3, _
ActivePrinter:="Xerox Phaser 8550DP PS sur Ne00:", Collate:=True


et ce code pour enregistrer mon doc si la premiere imprimante n est pas trouvée
dim Nom_fichier as string
Nom_fichier=sheets("Feuil1").range("B14")
ActiveWorkbook.SaveAs Filename:= _
"C:\Documents and Settings\xxxxxx\Mes documents\" & Nom_fichier & ".xls"




je met ce code pour remettre l impimante par defaut du pc ou est utilisé l 'application
Dim impDefaut$
impDefaut = Application.ActivePrinter
Application.ActivePrinter = impDefaut


ma question est comment associér ces codes et avoir un mess comme quoi mon imprimante xeros est indisponible et que mon fichier a ete enregistré pour une imprssion ulterieure

merci a tous de vos suggestions et proposition

cordialement

ghislain
 

JCGL

XLDnaute Barbatruc
Re : gestion imprimante

Bonjour à tous,

Peux-tu tester ceci :

VB:
Sub Imprimer()
    Dim Nom_fichier As String
    Dim impDefaut$


    impDefaut = Application.ActivePrinter




    On Error Resume Next
    ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=3, _
                                         ActivePrinter:="Xerox Phaser 8550DP PS sur Ne00:", Collate:=True


    Nom_fichier = Sheets("Feuil1").Range("B14")
    ActiveWorkbook.SaveAs Filename:= _
                          "C:\Documents and Settings\xxxxxx\Mes documents\" & Nom_fichier & ".xls"


    Application.ActivePrinter = impDefaut


End Sub

A + à tous
 

GHISLAIN

XLDnaute Impliqué
Re : gestion imprimante

bonsoir JCGL,

merci detre passé sur mon fil

je testerai ta proposition demain , mais ton code me semble t il imprimera sur l impimante par defaut dés le départ

Sub Imprimer()
Dim Nom_fichier As String
Dim impDefaut$

impression sur la xerox

ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=3, _
ActivePrinter:="Xerox Phaser 8550DP PS sur Ne00:", Collate:=True

ici ci l imprimante xerox n est pas trouvé pas d impression mais :
message affiché : xerox indisponible le fichier sera enregistré

sauvegarde du fichier
Nom_fichier = Sheets("Feuil1").Range("B14")
ActiveWorkbook.SaveAs Filename:= _
"C:\Documents and Settings\xxxxxx\Mes documents\" & Nom_fichier & ".xls"

imprimante par defaut remise
impDefaut = Application.ActivePrinter

End Sub


merci de ton aide

amicalement

ghislain
 

JCGL

XLDnaute Barbatruc
Re : gestion imprimante

Bonjour à tous,

Dans ton dernier message, tu as oublié quelques lignes de ma proposition....

Sub Imprimer()
Dim Nom_fichier AsString 'Déclarations des variables
Dim impDefaut$ 'Déclarations des variables
impDefaut = Application.ActivePrinter ' On mémorise l'imprimante par défaut

OnErrorResumeNext 'On passe à l'action suivante si il y a un erreur
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=3, _
ActivePrinter:="Xerox Phaser 8550DP PS sur Ne00:", Collate:=True

' si l'imprimante est trouvée, elle devient l'imprimante active et on lance 3 copie du document de la page 1 à la page 1

Nom_fichier = Sheets("Feuil1").Range("B14")
ActiveWorkbook.SaveAs Filename:= _
"C:\Documents and Settings\xxxxxx\Mes documents\" & Nom_fichier &".xls"

i Enregistrement du fichier avec le nom en B&' dans le répertoire donné

Application.ActivePrinter = impDefaut ' on remet l'imprimante mémorisée comme active

EndSub

A + à tous
 

Discussions similaires

Statistiques des forums

Discussions
314 495
Messages
2 110 224
Membres
110 708
dernier inscrit
novy16