Je me permets de vous solliciter à nouveau car je "coince" sur un code que je n'arrive pas à faire pour imprimer un document "en Niveaux de gris rapide" (noir et blanc).
J'ai beaucoup cherché sur le net, j'ai trouvé des codes comme celui-ci :
Code:
For i = 1 To Sheets.Count
With Sheets(i)
.PageSetup.BlackAndWhite = True 'paramétrage N&B
.PageSetup.BlackAndWhite = False 'réinitialisation
.PrintOut From:=1, To:=1, Copies:=1 'page 1 à 1
End With
Next
Je n'y arrive pas.
J'ai également (dans la limite de mes petites connaissances), tenté de le faire avec l'utilitaire macros .... je n'y arrive pas. Quand je sélectionne "en écriture macro" : en Niveaux de gris rapide, rien ne s'écrit dans la macro.
Si vous pouviez m'aider, ça m'arrangerait car, outre l'économie d'encre, il est pas facile de se réa-provisionner en Tunisie.
Je joins un fichier test.
Vous remerciant déjà de m'avoir lu,
Je vous remercie de votre aide si précieuse.
Bonne fin de journée à toutes et à tous,
Amicalement,
Lionel,
Option Explicit
Sub Noir_et_blanc_imprimer()
With ActiveSheet
.PageSetup.BlackAndWhite = True
.PrintPreview ' aperçevoir
'.PrintOut ' imprimer
.PageSetup.BlackAndWhite = False
End With
End Sub
Un seul petit "bémol" :
Souhaitant économiser l'encre (ce sont des impressions pour usage interne), j'aurais voulu qu'il imprime en "Niveaux de gris rapide".
Mais ça imprime en "Niveaux de gris" (qualité supérieure inutile).
Voir photo ci -dessous :
Peut-être une solution ?
Mais c'est déjà très bien comme ça.
Amicalement,
Lionel,
Merci de m'avoir répondu.
ça fonctionne déjà très bien comme ça mais il est vrai que l'économie d'encre est très 'désirable" quand on a des difficultés à s'approvisionner.
Peut-être que la solution est dans les paramétrages de l'imprimante.
J'avais oublié de voir ça.
voici le code que M.VIARD JP utilise dans le classeur qu'il a mis en téléchargement et qui laisse le choix a l'utilisateur pour imprimer en couleur ou noir et blanc
je sais ca ne résous pas le souci de de gris
Code:
Private Sub imprimer_click() 'Impression Feuille Facture
Dim Retour As Integer
Sheets("feuil1").Activate
With ActiveSheet.PageSetup
.LeftMargin = Application.InchesToPoints(0.2)
.RightMargin = Application.InchesToPoints(0.2)
.TopMargin = Application.InchesToPoints(0.3)
.BottomMargin = Application.InchesToPoints(0.3)
.PrintQuality = 300
.Zoom = 85
.Orientation = xlPortrait
.BlackAndWhite = False
End With
'---------------- Impression noir et blanc ou couleur ------------------------
Retour = MsgBox("Voullez-vous une copie couleur : O/N ", vbYesNo + vbCritical)
If Retour = vbNo Then
With ActiveSheet.PageSetup
.BlackAndWhite = True
End With
End If
ActiveSheet.PageSetup.PrintArea = "A1:H60"
'ActiveSheet.PrintPreview
ActiveWindow.SelectedSheets.PrintOut copies:=1
End Sub
J'ai testé et la macro fonctionne si je neutralise : '.PrintQuality = 300
sinon, ça bloque sur ce code.
J'ai bien l'impression en noir et blanc mais dans une qualité (consommatrice d'encre) dont je n'ai pas besoin.
Est-il possible de trouver un code que remplace ".PrintQuality = 300"
par la qualité de l'option d'impression de mon imprimante : "Document - Niveaux de gris rapide"