Salut à tous.
Peut-on, par VBA, désigner l'imprimante par défaut de windows ?
Je vous pose cette question puisque la méthode Printform ne permet pas de
choisir son imprimante...
Merci de vos réponses.
--
--
Carpe Diem Quam Minimum Credula Postera
Bicose
Sic Transit Gloria Mundi, et
Arx Tarpeia Capitoli Proxima !!
Salut à tous.
Peut-on, par VBA, désigner l'imprimante par défaut de windows ?
Je vous pose cette question puisque la méthode Printform ne permet pas de
choisir son imprimante...
Merci de vos réponses.
--
--
Carpe Diem Quam Minimum Credula Postera
Bicose
Sic Transit Gloria Mundi, et
Arx Tarpeia Capitoli Proxima !!
Salut à tous.
Peut-on, par VBA, désigner l'imprimante par défaut de windows ?
Je vous pose cette question puisque la méthode Printform ne permet pas de
choisir son imprimante...
Merci de vos réponses.
--
--
Carpe Diem Quam Minimum Credula Postera
Bicose
Sic Transit Gloria Mundi, et
Arx Tarpeia Capitoli Proxima !!
Salut,
Application.ActivePrinter = "monImprimante:"
sans changer le défaut ne suffirait-il pas?
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
http://www.ilyapa.net/baseExcel
"Gadget" a écrit dans le message de news:
40c83731$0$13530$Salut à tous.
Peut-on, par VBA, désigner l'imprimante par défaut de windows ?
Je vous pose cette question puisque la méthode Printform ne permet pas
de
choisir son imprimante...
Merci de vos réponses.
--
--
Carpe Diem Quam Minimum Credula Postera
Bicose
Sic Transit Gloria Mundi, et
Arx Tarpeia Capitoli Proxima !!
Salut,
Application.ActivePrinter = "monImprimante:"
sans changer le défaut ne suffirait-il pas?
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
http://www.ilyapa.net/baseExcel
"Gadget" <Gadgetokarim@nooooos.fr> a écrit dans le message de news:
40c83731$0$13530$79c14f64@nan-newsreader-05.noos.net...
Salut à tous.
Peut-on, par VBA, désigner l'imprimante par défaut de windows ?
Je vous pose cette question puisque la méthode Printform ne permet pas
de
choisir son imprimante...
Merci de vos réponses.
--
--
Carpe Diem Quam Minimum Credula Postera
Bicose
Sic Transit Gloria Mundi, et
Arx Tarpeia Capitoli Proxima !!
Salut,
Application.ActivePrinter = "monImprimante:"
sans changer le défaut ne suffirait-il pas?
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
http://www.ilyapa.net/baseExcel
"Gadget" a écrit dans le message de news:
40c83731$0$13530$Salut à tous.
Peut-on, par VBA, désigner l'imprimante par défaut de windows ?
Je vous pose cette question puisque la méthode Printform ne permet pas
de
choisir son imprimante...
Merci de vos réponses.
--
--
Carpe Diem Quam Minimum Credula Postera
Bicose
Sic Transit Gloria Mundi, et
Arx Tarpeia Capitoli Proxima !!
Je viens de tester : malgré la désignation d'une autre imprimante active,
vba imprime l'UF sur l'imprimante par défaut windows.
Cela ne suffit donc pas...
Je viens de tester : malgré la désignation d'une autre imprimante active,
vba imprime l'UF sur l'imprimante par défaut windows.
Cela ne suffit donc pas...
Je viens de tester : malgré la désignation d'une autre imprimante active,
vba imprime l'UF sur l'imprimante par défaut windows.
Cela ne suffit donc pas...
sers-toi de l'enregistreur de macros, gadget, pour avoir les termes
exacts de la proc ; pascal t'a écrit "monImprimante:" mais il faut
"monImprimante sur monPort":"
jps
Gadget a écrit:Je viens de tester : malgré la désignation d'une autre imprimante
active,
vba imprime l'UF sur l'imprimante par défaut windows.
Cela ne suffit donc pas...
sers-toi de l'enregistreur de macros, gadget, pour avoir les termes
exacts de la proc ; pascal t'a écrit "monImprimante:" mais il faut
"monImprimante sur monPort":"
jps
Gadget a écrit:
Je viens de tester : malgré la désignation d'une autre imprimante
active,
vba imprime l'UF sur l'imprimante par défaut windows.
Cela ne suffit donc pas...
sers-toi de l'enregistreur de macros, gadget, pour avoir les termes
exacts de la proc ; pascal t'a écrit "monImprimante:" mais il faut
"monImprimante sur monPort":"
jps
Gadget a écrit:Je viens de tester : malgré la désignation d'une autre imprimante
active,
vba imprime l'UF sur l'imprimante par défaut windows.
Cela ne suffit donc pas...
C'est bien ce que j'ai fait. Après avoir utilisé le Macroteur pour
identifier l'exact libellé de l'imprimante que je cherche, voici ce que j'ai
ajouté à mon code :
Dim Imprimante as String
<...>
Imprimante = Application.ActivePrinter
Application.ActivePrinter = "Canon i560 sur Ne04:"
MaUF.PrintForm
Application.ActivePrinter = Imprimante
' La variable Imprimante servant à remettre l'ancienne imprimante active
après execution
Néanmoins, vba persiste à imprimer ma Userform sur l'imprimante par défaut
de Windows. Si je modifie l'imprimante par défaut "à la main" ds la panneau
de config de Windows avant d'exécuter le code, ca marche, il me met bien la
bonne... D'ailleurs, c'est bien ce qui est indiqué dans l'aide de la méthode
..PrintForm. : il est bien dit que c'est l'imprimante PAR DEFAUT qui sera
utilisée.
Grrr.
Une suggestion ?
C'est bien ce que j'ai fait. Après avoir utilisé le Macroteur pour
identifier l'exact libellé de l'imprimante que je cherche, voici ce que j'ai
ajouté à mon code :
Dim Imprimante as String
<...>
Imprimante = Application.ActivePrinter
Application.ActivePrinter = "Canon i560 sur Ne04:"
MaUF.PrintForm
Application.ActivePrinter = Imprimante
' La variable Imprimante servant à remettre l'ancienne imprimante active
après execution
Néanmoins, vba persiste à imprimer ma Userform sur l'imprimante par défaut
de Windows. Si je modifie l'imprimante par défaut "à la main" ds la panneau
de config de Windows avant d'exécuter le code, ca marche, il me met bien la
bonne... D'ailleurs, c'est bien ce qui est indiqué dans l'aide de la méthode
..PrintForm. : il est bien dit que c'est l'imprimante PAR DEFAUT qui sera
utilisée.
Grrr.
Une suggestion ?
C'est bien ce que j'ai fait. Après avoir utilisé le Macroteur pour
identifier l'exact libellé de l'imprimante que je cherche, voici ce que j'ai
ajouté à mon code :
Dim Imprimante as String
<...>
Imprimante = Application.ActivePrinter
Application.ActivePrinter = "Canon i560 sur Ne04:"
MaUF.PrintForm
Application.ActivePrinter = Imprimante
' La variable Imprimante servant à remettre l'ancienne imprimante active
après execution
Néanmoins, vba persiste à imprimer ma Userform sur l'imprimante par défaut
de Windows. Si je modifie l'imprimante par défaut "à la main" ds la panneau
de config de Windows avant d'exécuter le code, ca marche, il me met bien la
bonne... D'ailleurs, c'est bien ce qui est indiqué dans l'aide de la méthode
..PrintForm. : il est bien dit que c'est l'imprimante PAR DEFAUT qui sera
utilisée.
Grrr.
Une suggestion ?
et si tu laisses tomber la variable, gadget, en écrivant simplement un
truc comme cela :
Application.ActivePrinter = "Canon i560 sur Ne04:"
MaUF.PrintForm
Application.ActivePrinter = "MonImprimanteParDefaut sur TelPort:"
sinon, ça dépasse mon entendement car, comme disait le bourgeois
gentilhomme, ce que je sais le mieux, c'est mon
commencement...ensuite...bouh...
jps
et si tu laisses tomber la variable, gadget, en écrivant simplement un
truc comme cela :
Application.ActivePrinter = "Canon i560 sur Ne04:"
MaUF.PrintForm
Application.ActivePrinter = "MonImprimanteParDefaut sur TelPort:"
sinon, ça dépasse mon entendement car, comme disait le bourgeois
gentilhomme, ce que je sais le mieux, c'est mon
commencement...ensuite...bouh...
jps
et si tu laisses tomber la variable, gadget, en écrivant simplement un
truc comme cela :
Application.ActivePrinter = "Canon i560 sur Ne04:"
MaUF.PrintForm
Application.ActivePrinter = "MonImprimanteParDefaut sur TelPort:"
sinon, ça dépasse mon entendement car, comme disait le bourgeois
gentilhomme, ce que je sais le mieux, c'est mon
commencement...ensuite...bouh...
jps
Si j'utilise une variable, c'est parce que j'ai 3 imprimantes connectées,
et
la sub dont on parle est une sous-routine qui peut être appelée par des
routines utilisant l'une ou l'autre des deux autres imprimantes.
Bref. Pour l'instant, pas de solution. J'ai également lancé le macroteur
avant de changer à la main l'imprimante par défaut dans le panneau de
config, mais le macroteur n'a rien enregistré...
--
--
Carpe Diem Quam Minimum Credula Postera
Bicose
Sic Transit Gloria Mundi, et
Arx Tarpeia Capitoli Proxima !!
"sabatier" a écrit dans le
message de news:et si tu laisses tomber la variable, gadget, en écrivant simplement un
truc comme cela :
Application.ActivePrinter = "Canon i560 sur Ne04:"
MaUF.PrintForm
Application.ActivePrinter = "MonImprimanteParDefaut sur TelPort:"
sinon, ça dépasse mon entendement car, comme disait le bourgeois
gentilhomme, ce que je sais le mieux, c'est mon
commencement...ensuite...bouh...
jps
Si j'utilise une variable, c'est parce que j'ai 3 imprimantes connectées,
et
la sub dont on parle est une sous-routine qui peut être appelée par des
routines utilisant l'une ou l'autre des deux autres imprimantes.
Bref. Pour l'instant, pas de solution. J'ai également lancé le macroteur
avant de changer à la main l'imprimante par défaut dans le panneau de
config, mais le macroteur n'a rien enregistré...
--
--
Carpe Diem Quam Minimum Credula Postera
Bicose
Sic Transit Gloria Mundi, et
Arx Tarpeia Capitoli Proxima !!
"sabatier" <biscotteDeuxScudsJjpsabatdelaile@wanadoo.fr> a écrit dans le
message de news:40C86501.3030102@wanadoo.fr...
et si tu laisses tomber la variable, gadget, en écrivant simplement un
truc comme cela :
Application.ActivePrinter = "Canon i560 sur Ne04:"
MaUF.PrintForm
Application.ActivePrinter = "MonImprimanteParDefaut sur TelPort:"
sinon, ça dépasse mon entendement car, comme disait le bourgeois
gentilhomme, ce que je sais le mieux, c'est mon
commencement...ensuite...bouh...
jps
Si j'utilise une variable, c'est parce que j'ai 3 imprimantes connectées,
et
la sub dont on parle est une sous-routine qui peut être appelée par des
routines utilisant l'une ou l'autre des deux autres imprimantes.
Bref. Pour l'instant, pas de solution. J'ai également lancé le macroteur
avant de changer à la main l'imprimante par défaut dans le panneau de
config, mais le macroteur n'a rien enregistré...
--
--
Carpe Diem Quam Minimum Credula Postera
Bicose
Sic Transit Gloria Mundi, et
Arx Tarpeia Capitoli Proxima !!
"sabatier" a écrit dans le
message de news:et si tu laisses tomber la variable, gadget, en écrivant simplement un
truc comme cela :
Application.ActivePrinter = "Canon i560 sur Ne04:"
MaUF.PrintForm
Application.ActivePrinter = "MonImprimanteParDefaut sur TelPort:"
sinon, ça dépasse mon entendement car, comme disait le bourgeois
gentilhomme, ce que je sais le mieux, c'est mon
commencement...ensuite...bouh...
jps
J'ai peut-être trouvé la solution : il est possible de changer l'imprimante
win par défaut avec un script msdos : syntaxe :
Cscript prnmngr.vbs -t -p nomimprimante
donc, maintenant, une autre question : comment lancer un script msdos à
partir de vba ?
--
--
Carpe Diem Quam Minimum Credula Postera
Bicose
Sic Transit Gloria Mundi, et
Arx Tarpeia Capitoli Proxima !!
"Gadget" a écrit dans le message de
news:40c867b0$0$15510$Si j'utilise une variable, c'est parce que j'ai 3 imprimantes connectées,
etla sub dont on parle est une sous-routine qui peut être appelée par des
routines utilisant l'une ou l'autre des deux autres imprimantes.
Bref. Pour l'instant, pas de solution. J'ai également lancé le macroteur
avant de changer à la main l'imprimante par défaut dans le panneau de
config, mais le macroteur n'a rien enregistré...
--
--
Carpe Diem Quam Minimum Credula Postera
Bicose
Sic Transit Gloria Mundi, et
Arx Tarpeia Capitoli Proxima !!
"sabatier" a écrit dans le
message de news:et si tu laisses tomber la variable, gadget, en écrivant simplement un
truc comme cela :
Application.ActivePrinter = "Canon i560 sur Ne04:"
MaUF.PrintForm
Application.ActivePrinter = "MonImprimanteParDefaut sur TelPort:"
sinon, ça dépasse mon entendement car, comme disait le bourgeois
gentilhomme, ce que je sais le mieux, c'est mon
commencement...ensuite...bouh...
jps
J'ai peut-être trouvé la solution : il est possible de changer l'imprimante
win par défaut avec un script msdos : syntaxe :
Cscript prnmngr.vbs -t -p nomimprimante
donc, maintenant, une autre question : comment lancer un script msdos à
partir de vba ?
--
--
Carpe Diem Quam Minimum Credula Postera
Bicose
Sic Transit Gloria Mundi, et
Arx Tarpeia Capitoli Proxima !!
"Gadget" <Gadgetokarim@nooooos.fr> a écrit dans le message de
news:40c867b0$0$15510$79c14f64@nan-newsreader-05.noos.net...
Si j'utilise une variable, c'est parce que j'ai 3 imprimantes connectées,
et
la sub dont on parle est une sous-routine qui peut être appelée par des
routines utilisant l'une ou l'autre des deux autres imprimantes.
Bref. Pour l'instant, pas de solution. J'ai également lancé le macroteur
avant de changer à la main l'imprimante par défaut dans le panneau de
config, mais le macroteur n'a rien enregistré...
--
--
Carpe Diem Quam Minimum Credula Postera
Bicose
Sic Transit Gloria Mundi, et
Arx Tarpeia Capitoli Proxima !!
"sabatier" <biscotteDeuxScudsJjpsabatdelaile@wanadoo.fr> a écrit dans le
message de news:40C86501.3030102@wanadoo.fr...
et si tu laisses tomber la variable, gadget, en écrivant simplement un
truc comme cela :
Application.ActivePrinter = "Canon i560 sur Ne04:"
MaUF.PrintForm
Application.ActivePrinter = "MonImprimanteParDefaut sur TelPort:"
sinon, ça dépasse mon entendement car, comme disait le bourgeois
gentilhomme, ce que je sais le mieux, c'est mon
commencement...ensuite...bouh...
jps
J'ai peut-être trouvé la solution : il est possible de changer l'imprimante
win par défaut avec un script msdos : syntaxe :
Cscript prnmngr.vbs -t -p nomimprimante
donc, maintenant, une autre question : comment lancer un script msdos à
partir de vba ?
--
--
Carpe Diem Quam Minimum Credula Postera
Bicose
Sic Transit Gloria Mundi, et
Arx Tarpeia Capitoli Proxima !!
"Gadget" a écrit dans le message de
news:40c867b0$0$15510$Si j'utilise une variable, c'est parce que j'ai 3 imprimantes connectées,
etla sub dont on parle est une sous-routine qui peut être appelée par des
routines utilisant l'une ou l'autre des deux autres imprimantes.
Bref. Pour l'instant, pas de solution. J'ai également lancé le macroteur
avant de changer à la main l'imprimante par défaut dans le panneau de
config, mais le macroteur n'a rien enregistré...
--
--
Carpe Diem Quam Minimum Credula Postera
Bicose
Sic Transit Gloria Mundi, et
Arx Tarpeia Capitoli Proxima !!
"sabatier" a écrit dans le
message de news:et si tu laisses tomber la variable, gadget, en écrivant simplement un
truc comme cela :
Application.ActivePrinter = "Canon i560 sur Ne04:"
MaUF.PrintForm
Application.ActivePrinter = "MonImprimanteParDefaut sur TelPort:"
sinon, ça dépasse mon entendement car, comme disait le bourgeois
gentilhomme, ce que je sais le mieux, c'est mon
commencement...ensuite...bouh...
jps
Salut à tous.
Peut-on, par VBA, désigner l'imprimante par défaut de windows ?
Je vous pose cette question puisque la méthode Printform ne permet pas de
choisir son imprimante...
Merci de vos réponses.
--
--
Carpe Diem Quam Minimum Credula Postera
Bicose
Sic Transit Gloria Mundi, et
Arx Tarpeia Capitoli Proxima !!
Salut à tous.
Peut-on, par VBA, désigner l'imprimante par défaut de windows ?
Je vous pose cette question puisque la méthode Printform ne permet pas de
choisir son imprimante...
Merci de vos réponses.
--
--
Carpe Diem Quam Minimum Credula Postera
Bicose
Sic Transit Gloria Mundi, et
Arx Tarpeia Capitoli Proxima !!
Salut à tous.
Peut-on, par VBA, désigner l'imprimante par défaut de windows ?
Je vous pose cette question puisque la méthode Printform ne permet pas de
choisir son imprimante...
Merci de vos réponses.
--
--
Carpe Diem Quam Minimum Credula Postera
Bicose
Sic Transit Gloria Mundi, et
Arx Tarpeia Capitoli Proxima !!
Bonsoir Gadget;
Si c'est juste pour imprimer un userform en mode paysage, tu peux utiliser
ce truc
sans modifier l'imprimante par défaut:
Private Declare Function OpenClipboard& Lib "user32" (ByVal hwnd&)
Private Declare Function EmptyClipboard& Lib "user32" ()
Private Declare Function CloseClipboard& Lib "user32" ()
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte _
, ByVal bScan As Byte, ByVal dwFlags&, ByVal dwExtraInfo&)
Private Sub PrintButton_Click()
Me.Repaint
OpenClipboard 0&
EmptyClipboard
keybd_event &H2C, 0, 0&, 0&
CloseClipboard
DoEvents
Application.ScreenUpdating = False
Dim NewBook As String
Workbooks.Add: ActiveSheet.Paste
NewBook = ActiveWorkbook.Name
With ActiveSheet.PageSetup
.RightFooter = Me.Caption & " Le &D Page &P/&N"
.PrintGridlines = False
.Orientation = xlLandscape
.PaperSize = xlPaperA4
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = False
End With
ActiveWindow.Visible = False
Application.ScreenUpdating = True
Me.Hide
Windows(NewBook).SelectedSheets.PrintOut Copies:=1
Workbooks(NewBook).Close False
Me.Show
End Sub
MP
"Gadget" a écrit dans le message de
news:40c83731$0$13530$Salut à tous.
Peut-on, par VBA, désigner l'imprimante par défaut de windows ?
Je vous pose cette question puisque la méthode Printform ne permet pas
de
choisir son imprimante...
Merci de vos réponses.
--
--
Carpe Diem Quam Minimum Credula Postera
Bicose
Sic Transit Gloria Mundi, et
Arx Tarpeia Capitoli Proxima !!
Bonsoir Gadget;
Si c'est juste pour imprimer un userform en mode paysage, tu peux utiliser
ce truc
sans modifier l'imprimante par défaut:
Private Declare Function OpenClipboard& Lib "user32" (ByVal hwnd&)
Private Declare Function EmptyClipboard& Lib "user32" ()
Private Declare Function CloseClipboard& Lib "user32" ()
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte _
, ByVal bScan As Byte, ByVal dwFlags&, ByVal dwExtraInfo&)
Private Sub PrintButton_Click()
Me.Repaint
OpenClipboard 0&
EmptyClipboard
keybd_event &H2C, 0, 0&, 0&
CloseClipboard
DoEvents
Application.ScreenUpdating = False
Dim NewBook As String
Workbooks.Add: ActiveSheet.Paste
NewBook = ActiveWorkbook.Name
With ActiveSheet.PageSetup
.RightFooter = Me.Caption & " Le &D Page &P/&N"
.PrintGridlines = False
.Orientation = xlLandscape
.PaperSize = xlPaperA4
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = False
End With
ActiveWindow.Visible = False
Application.ScreenUpdating = True
Me.Hide
Windows(NewBook).SelectedSheets.PrintOut Copies:=1
Workbooks(NewBook).Close False
Me.Show
End Sub
MP
"Gadget" <Gadgetokarim@nooooos.fr> a écrit dans le message de
news:40c83731$0$13530$79c14f64@nan-newsreader-05.noos.net...
Salut à tous.
Peut-on, par VBA, désigner l'imprimante par défaut de windows ?
Je vous pose cette question puisque la méthode Printform ne permet pas
de
choisir son imprimante...
Merci de vos réponses.
--
--
Carpe Diem Quam Minimum Credula Postera
Bicose
Sic Transit Gloria Mundi, et
Arx Tarpeia Capitoli Proxima !!
Bonsoir Gadget;
Si c'est juste pour imprimer un userform en mode paysage, tu peux utiliser
ce truc
sans modifier l'imprimante par défaut:
Private Declare Function OpenClipboard& Lib "user32" (ByVal hwnd&)
Private Declare Function EmptyClipboard& Lib "user32" ()
Private Declare Function CloseClipboard& Lib "user32" ()
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte _
, ByVal bScan As Byte, ByVal dwFlags&, ByVal dwExtraInfo&)
Private Sub PrintButton_Click()
Me.Repaint
OpenClipboard 0&
EmptyClipboard
keybd_event &H2C, 0, 0&, 0&
CloseClipboard
DoEvents
Application.ScreenUpdating = False
Dim NewBook As String
Workbooks.Add: ActiveSheet.Paste
NewBook = ActiveWorkbook.Name
With ActiveSheet.PageSetup
.RightFooter = Me.Caption & " Le &D Page &P/&N"
.PrintGridlines = False
.Orientation = xlLandscape
.PaperSize = xlPaperA4
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = False
End With
ActiveWindow.Visible = False
Application.ScreenUpdating = True
Me.Hide
Windows(NewBook).SelectedSheets.PrintOut Copies:=1
Workbooks(NewBook).Close False
Me.Show
End Sub
MP
"Gadget" a écrit dans le message de
news:40c83731$0$13530$Salut à tous.
Peut-on, par VBA, désigner l'imprimante par défaut de windows ?
Je vous pose cette question puisque la méthode Printform ne permet pas
de
choisir son imprimante...
Merci de vos réponses.
--
--
Carpe Diem Quam Minimum Credula Postera
Bicose
Sic Transit Gloria Mundi, et
Arx Tarpeia Capitoli Proxima !!