choisir son imprimante en début de macro et remettre une autre en fin de macro

julie999

XLDnaute Occasionnel
bonjour

j'aimerais trouver le code vba a rajouter au début et a la fin de ma macro pour éviter de modifier a chaque fois dans le panneau de configuration des imprimantes.

au départ l'imprimante par défaut est "PNOYRICOH04"
je voudrais le code pour mettre cette l'imprimante "PNOYPMD09"par défaut
le reste de mon code
et a la fin remettre "PNOYRICOH04" par défaut

est ce possible
Merci Julie

voici le code complet si ca peut aider

Sub Macro20()
'
' Macro20 Macro
'

'

Application.ScreenUpdating = False

Dim chemin As String

Sheets("cmr DPD").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=4
Sheets("cmr royal mail").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=4
Sheets("A compléter").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Sheets(Array("A compléter", "Récap info CMR", "cmr DPD", "cmr royal mail")).Copy
ChDir "C:\Archives photobox\Consolidation UK Arvato & Sartrouville"
ActiveWorkbook.SaveAs chemin & "Consolidation flux Uk " & _
Format(Worksheets("A compléter").Range("c2"), "d\-mm\-yyyy") & ".xls", FileFormat:= _
xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
ActiveWorkbook.Save
ActiveWorkbook.Close
Call macro7
Sheets("A compléter").Select
Range( _
"C6:F7,C9:F9,D10:D14,D19,E19,C21:E21,C19,K19,F19,F21,K21,L21,M21,M19,L19,L9:L14,M9,K9,K6:L7,M6,M7" _
).Select
Range("M7,F2").Activate
Selection.ClearContents
Sheets("A compléter").Select
Range("A1:O1").Select
Sheets("MENU").Select
Application.ScreenUpdating = True


End Sub
 

Renaud75015

XLDnaute Junior
Re : choisir son imprimante en début de macro et remettre une autre en fin de macro

Salut Julie999 :

Le bout de code à mettre en début de macro pour changer d'imprimante :
Application.ActivePrinter = "\\printers\Ma_nouvelle_imprimante:"
et en fin de macro :
Application.ActivePrinter = "\\printers\Mon_ancienne_imprimante"
 

julie999

XLDnaute Occasionnel
Re : choisir son imprimante en début de macro et remettre une autre en fin de macro

Bonjour renaud , le fil

ce code ne fonctionne pas
ca me donne une erreur

j'ai plus d info
en utilisant ce code:
sub nom()

MsgBox "Le nom de l'impriamnte est :" & _
Application.ActivePrinter

end sub

j'obtient le nom des 2 imprimantes :

\\SNOYDC02\PNOYPMD09 sur Ne04

\\SNOYDC02.noyelles.arvato.fr\PNOYRICOH04 sur Ne05

par contre quand je regarde les paramettre en detail des imprimantes j'ai d'autre informartions
nom:pNOYPMD09 adresse serveur: SNOYDC.noyelles.arvato.fr
nom:pNOYRICOH04 adresse serveur: SNOYDC.noyelles.arvato.fr

je souhaiterai trouver le code pour forcer l'impression documents avec l'imprimante PNOYPMD09
et ensuite remettre l'imprimante par defaut PNOYRICOH04

quel serait la bonne manip
merci Julie
 

julie999

XLDnaute Occasionnel
Re : choisir son imprimante en début de macro et remettre une autre en fin de macro

re le fil
je pense que je vais devoir laisser tomber cette partie du programme
je n’arrête pas de modifier le code mais sans succès
Julie
je suis toujours preneuse de solution si quelqu'un la
 

Roland_M

XLDnaute Barbatruc
Re : choisir son imprimante en début de macro et remettre une autre en fin de macro

bonsoir,

Code:
Sub ChoixImprimante()
Dim SvgImprimante$, Imprimante$

'Svg l'imprimante actuelle
SvgImprimante = ActivePrinter

'Sélect imprimante
Application.Dialogs(xlDialogPrinterSetup).Show
'L'imprimante sélectionnée
Imprimante = ActivePrinter

'pour remettre l'imprimante
ActivePrinter = SvgImprimante

End Sub

qq petites infos en vrac
'ActiveSheet.PrintOut/.PrintPreview >>> imprime/visualise feuil.active
'SelectPage.PrintOut/.PrintPreview >>> imprime/visualise sélection
'Worksheets.PrintOut >>> imprime la feuille entière
'ActiveSheet.PageSetup.Orientation = xlLandscape / xlPortrait
'Sheets("feuil1").printOut >>> imprime direct
'Sheets("Feuil1").printPreview >>> aperçu et imprime
'Sheets("feuil1").Range("A1 : D10").printOut >>> Imprime une plage de cellules

'ActiveWorkbook.printOut Copies:=X, Collate:=True >>> nombre de copies
'Affiche l'aperçu des sauts de page : activeWindow.View = xlPageBreakPreview
'Masquer l'aperçu des sauts de page : activeWindow.View = xlNormalView
'Réinitialiser la zone d'impression : activeSheet.pageSetup.printArea = "" ou activeSheet.pageSetup.printArea = False
'boite de dialogue avec nombre de copies : Application.Dialogs(xlDialogPrint).Show , , , 3
'boite de dialogue pour choix imprimante : Application.Dialogs(Excel.xlBuiltInDialog.xlDialogPrinterSetup).Show

'Aperçu avant impression : Application.Dialogs(xlDialogPrintPreview).Show
'Remarque : L'argument False permet de rendre inactifs les boutons "mise en page" et "Marges"
'Application.Dialogs(xlDialogPrintPreview).Show False

'Sélectionner l'imprimante pour l'édition
'If Application.Dialogs(xlDialogPrinterSetup).Show = True Then Feuil1.PrintOut

'Dim Ws As Worksheet 'Imprimer toutes les feuilles du classeur
'For Each Ws In thisWorkbook.Worksheets :Ws.printOut :Next
 
Dernière édition:

julie999

XLDnaute Occasionnel
Re : choisir son imprimante en début de macro et remettre une autre en fin de macro

bonjour roland ,le fil
merci pour ton aide
mais j'obtiens bien la boite de dialogue avec tous les imprimantes,mais est il possible de lui imposer cette imprimante \\SNOYDC02\PNOYPMD09 sur Ne04 pour imprimer et remettre celle ci \\SNOYDC02.noyelles.arvato.fr\PNOYRICOH04 sur Ne05 par de faut
encore merci de te pencher sur mon problème
Julie
 

Roland_M

XLDnaute Barbatruc
Re : choisir son imprimante en début de macro et remettre une autre en fin de macro

bonjour,

je m'excuse mais là je ne saurais t'aider n'ayant pas la possibilité de faire des essais !*

à part ceci !? (comme l'avait proposé Renaud75015)

Code:
Sub TonSubAvecTesCodes()

'Active l'imprimante
ActivePrinter = "\\SNOYDC02\PNOYPMD09"

'suite tes codes pour imprimer . . .
'. . .
'. . .
 
 
'puis à la fin pour remettre l'imprimante
ActivePrinter = "\\SNOYDC02.noyelles.arvato.fr\PNOYRICOH04"
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 229
Messages
2 086 424
Membres
103 206
dernier inscrit
diambote