Imprimer sans couleurs

Viking

XLDnaute Nouveau
Bonjour à tous
Merci pour ce forum

J'ai un classeur excel avec une soixantaine de feuilles dont certaines ont des cellules colorées. Je ne veux pas que ces couleurs de fond sortent à l'impression. Et je souhaite que la macro me propose un aperçu avant impression.
Après avoir farfouillé un peu le net, j'ai fini par trouvé ça :

Sub impressionNoirEtBlanc()
For i = 1 To Worksheets.Count
With Worksheets(i)
.PageSetup.BlackAndWhite = True 'paramétrage N&B
.PrintOut Preview:=True 'imprime avec aperçu
.PageSetup.BlackAndWhite = False 'réinitialisation
End With
Next
End Sub

Cette macro est quasi parfaite, sauf que l'aperçu se lance feuille par feuille.
Je m'explique : Quand je lance la macro, un aperçu de la 1ère feuille se lance. Puis je lance l'impression, puis l'aperçu se ferme, puis l'aperçu de la 2ème feuille se lance. etc.. c'est assez laborieux

Je souhaite une macro qui me donne le même résultat que si je clique sur fichier imprimer. Avec la possibilité de sélectionner "imprimer le classeur entier" et ainsi, dans le même aperçu, de pouvoir visualiser toutes les feuilles, et de lancer une seule impression pour toutes les feuilles. Le tout sans imprimer les couleurs des cases.

Dernière petite chose, j'aimerais que la macro fonctionne de la même façon sur XL 2010 que sur 2003. Car je ne serai pas le seul à utiliser ce fichier.
Voilà, je vous remercie

Vik
 

Dranreb

XLDnaute Barbatruc
Re : Imprimer sans couleurs

Bonjour
Dissociez de l'impression la mise en page en noir et blanc de toutes les feuilles de l'impression.
D'ailleurs, je serais étonné qu'on ait aussi besoin en temps normal d'imprimer en couleur,
Pourquoi ne pas laisser l'impression en noir et blanc une bonne fois pour toutes ?
À+
 

Viking

XLDnaute Nouveau
Re : Imprimer sans couleurs

Bonjour,

Le probleme c'est que les cellules colorées s'impriment en fond gris si j'utilise cette méthode :)
Je suis obligé de passer par une macro, pour mettre un fond blanc, puis imprimer, puis remettre la couleur des cellules.

Je me suis peut etre mal exprimé. Ce n'est pas du noir et blanc que je cherche, mais d'imprimer toutes les cases avec un fond blanc
 

Dranreb

XLDnaute Barbatruc
Re : Imprimer sans couleurs

Je ne vois pas pourquoi la procédure écrite ainsi aurait un effet différent de la vôtre:
VB:
Sub ImpressionNoirEtBlanc()
Dim F As Worksheet
For Each F In Worksheets: F.PageSetup.BlackAndWhite = True: Next F
For Each F In Worksheets: F.PrintOut Preview:=True: Next F
For Each F In Worksheets: F.PageSetup.BlackAndWhite = False: Next F
End Sub
Ensuite remplacez l'instruction du milieu par celles, engendrées par l'enregistreur, qui permet d'imprimer tout le classeur.
Et puis supprimez la dernière, pourquoi remettre en couleur ? Après exécution supprimez plutôt aussi la première.
 

Viking

XLDnaute Nouveau
Re : Imprimer sans couleurs

EDIT : j'ai supprimé mon message précédent. Car votre macro fonctionne parfaitement.
Merci beaucoup ! c'est exactement ce que je cherchais.


Y a t il une différence avec une solution qu'on m'a précédemment proposée :

Sub impressionNoirEtBlanc()
For i = 1 To Worksheets.Count: Worksheets(i).PageSetup.BlackAndWhite = True: Next
ActiveWorkbook.PrintOut Preview:=True
For i = 1 To Worksheets.Count: Worksheets(i).PageSetup.BlackAndWhite = False: Next
End Sub

Je prendrai la plus rapide des deux
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Imprimer sans couleurs

Nom, la macro ne change pas les couleurs des cellules: elle fait (en Excel 2003) menu Fichier, Mise en page, onglet Feuille, rubrique Impression, et coche la case "En noir et blanc". Cela pourrait aussi bien être fait une bonne fois pour toutes sur toutes les feuille.
Menu Outils, Macros, Nouvelle macro, Ok, Puis imprimez votre fichier. Arrêtez l'enregistrement de la macro et regardez le code engendré.
Je ne vais pas le faire: je n'ai pas envie d'imprimer mon classeur !
À+
 

Viking

XLDnaute Nouveau
Re : Imprimer sans couleurs

Danreb, je reviens vers toi.
J'ai finalement utilisé le moyen que tu m'as indiqué sans utiliser de macro.
(Fichier -> imprimer -> tout le classeur -> mise en page -> feuille -> noir et blanc)

Par contre gros souci avec ou sans macro :/ Toutes les cases qui avaient une mise en forme conditionnelle (si = 0, alors texte blanc), ben ca sort à l'impression ! Donc j'ai beaucoup de "0" un peu partout dans mes tableaux ...
Tu aurais une solution ?

Merci encore
 

Dranreb

XLDnaute Barbatruc
Re : Imprimer sans couleurs

Cette instruction fait la même chose que décocher cette case:
VB:
ActiveWindow.DisplayZeros = False
Sinon il y a encore une autre possibilité: utiliser des formats de nombres personnalisés à plusieurs champs séparés par des ";" sans rien dans le 3ième. Par exemple "0;-0;;@" n'affichera pas les 0, seulement les nombres positifs, négatifs et les textes.
À+
 
Dernière édition:

Viking

XLDnaute Nouveau
Re : Imprimer sans couleurs

Super ta méthode du "0;-0;;@"
J'ai testé ca marche très bien.
Mais ca crée un nouveau léger souci. (on a y arriver !)

Ca enlève le format "nombre" avec séparateur de milliers.
Si je peux avoir ce code avec le séparateur de milliers en plus... je pense que ca sera parfait !

En tout cas merci beaucoup, tu m'aides et m'apprends beaucoup
 

Discussions similaires

Réponses
0
Affichages
254