Afficher un message
Vieux 20/08/2005, 10h25   #7 (permalink)
MichelXld
XLDnaute Barbatruc
 
Date d'inscription: février 2005
Messages: 3 833
Par défaut Re:Gérer les impressions par VBA

bonjour

ci joint quelques macros supplémentaires



Un nouvel exemple pour suivre l'impression des documents (WinXP)

Le fichier zippé
http://www.excel-downloads.com/compo...Impression.zip



Modifier la mise en page avant impression

Code:
Sub miseEnPageAvantImpression()
With Feuil1.PageSetup
.LeftMargin = Application.InchesToPoints(0.5)
.RightMargin = Application.InchesToPoints(0.75)
.TopMargin = Application.InchesToPoints(1.5)
.BottomMargin = Application.InchesToPoints(1)
.HeaderMargin = Application.InchesToPoints(0.5)
.FooterMargin = Application.InchesToPoints(0.5)
End With
Feuil1.PrintPreview
End Sub


Arreter l'impression en cours et vider la file d'attente (WinXP)

Code:
Sub interrompreImpression_WinXP()
Dim strComputer As String
Dim objWMIService As Object, colInstalledPrinters As Object
Dim objPrinter As Object

strComputer = '.'
Set objWMIService = GetObject('winmgmts:\\\\' & strComputer & '\\root\\cimv2')
Set colInstalledPrinters = objWMIService.ExecQuery('Select * from Win32_Printer')

For Each objPrinter In colInstalledPrinters
objPrinter.CancelAllJobs
Next

Set objWMIService = Nothing
Set colInstalledPrinters = Nothing
End Sub


Définir la zone d'impression sur une plage de cellules

Code:
ActiveSheet.PageSetup.PrintArea = '$A$1:$E$10'


Réinitialiser la zone d'impression à la feuille complete

Code:
ActiveSheet.PageSetup.PrintArea = ''
Une autre possibilité :

Code:
ActiveSheet.PageSetup.PrintArea = False


Vérifier si l'imprimante est parametree pour imprimer en Noir et Blanc ou en couleur
(WinXP)

si tu connais le nom de l'imprimante

Code:
Sub verifier_parametre_Couleur_NB_Imprimante_V01()
Dim objWMIService As Object, colItems As Object
Dim objItem As Object
Dim strComputer As String

strComputer = '.'
Set objWMIService = GetObject('winmgmts:\\\\' & strComputer & '\\root\\cimv2')
Set colItems = objWMIService.ExecQuery('Select * from Win32_PrinterConfiguration ' & _
'where Name = 'hp deskjet 940c series'')

For Each objItem In colItems
Select Case objItem.Color
Case 1: MsgBox objItem.Name & ' : noir et blanc'
Case 2: MsgBox objItem.Name & ' : couleur'
End Select
Next
End Sub

en bouclant sur toutes les imprimantes du poste ( en local)

Code:
Sub verifier_parametre_Couleur_NB_Imprimante_V02()
Dim objWMIService As Object, colItems As Object
Dim objItem As Object
Dim strComputer As String

On Error Resume Next
strComputer = '.'
Set objWMIService = GetObject('winmgmts:\\\\' & strComputer & '\\root\\cimv2')
Set colItems = objWMIService.ExecQuery('Select * from Win32_PrinterConfiguration', , 48)

For Each objItem In colItems
Select Case objItem.Color
Case 1: MsgBox objItem.Name & ' : noir et blanc'
Case 2: MsgBox objItem.Name & ' : couleur'
End Select
Next
End Sub


bon week end
MichelXld


ps
désolé Helium , mais je n'ai pas de réponse à ta question
MichelXld est déconnecté   Réponse avec citation