Impression Noir et Blanc : ou couleur

Bonjour,

j'ai un petit bout de code me permettant de sélectionner une imprimante spéciale, imprimer une sélection pour ensuite revenir à mon imprimante par défaut

Cela fonctionne parfaitement.

Sub EditionFiche()
'EditionFiche Macro
    Imprimante = Application.ActivePrinter 'Mémorise le choix de l'imprimante avant l'impression
    Range("R1:AH27").Select
    Selection.PrintOut Copies:=1, ActivePrinter:="RICOH MPC307 BYPASS A6"
    Application.ActivePrinter = Imprimante 'Retour à l'imprimante choisie avant l'impression
End Sub

J'aimerai maintenant avoir la possibilité de choisir si je veux imprimer en Noir et Blanc ou en Couleur.

Je pense que le plus simple serait d'avoir deux boutons (un N&B et un couleur) et je choisit celui que je veux pour lancer l'impression.

J'ai essayé de mettre un

.BlackAndWhite = True

pour lancer l'impression en noir et blanc (bouton impression N&B)

et un

.BlackAndWhite = False

pour lancer l'impression en couleur. (bouton impression COULEUR)

Soit mon bout de code est mauvais, soit je le met pas au bon endroit, mais quoi qu'il arrive ça ne marche pas.

Est ce que qqn aurait la gentillesse de m'aider la dessus ?

Merci

Bonjour

Votre version excel est renseignée sur 2011. Vous êtes sous Excel MAC ? Si oui, veillez à ajouter MAC dans le profil Excel de votre compte

Pour votre demande, peut être ceci pour le Noir et Blanc

Sub EditionFiche()
'EditionFiche Macro
Dim imprimante As String
imprimante = Application.ActivePrinter 'Mémorise le choix de l'imprimante avant l'impression
With ActiveSheet
    .PageSetup.BlackAndWhite = True
    .Range("R1:AH27").PrintOut Copies:=1, ActivePrinter:="RICOH MPC307 BYPASS A6"
    .PageSetup.BlackAndWhite = False
End With
Application.ActivePrinter = imprimante 'Retour à l'imprimante choisie avant l'impression
End Sub

Faites un test sachant qu'il faut que votre imprimante soit placée en couleur par défaut
Vous pourriez aussi peut être prévoir un message qui vous demande si vous voulez en couleur ou pas. Cela peut vous éviter deux boutons...

Cordialement

Bonjour,

j'ai une erreur d'exécution 424 (objet requis) sur cette ligne là :

Pour info je vous met le code entier de ma macro qui en réalité (Peut être que cela à un impact sur l'erreur)

Fait une incrémentation de +1 sur une cellule (compteur )

Enregistre au format PDF une sélection

Imprime cette même sélection

Si un message popup pour me demander le type d'impression est plus simple. Je suis preneur. Mais je ne sais pas non plus comment le faire.

PageSetup.BlackAndWhite = True
Sub EditionFicheNetB()
'EditionFicheNetB Macro
    Sheets(1).Range("B8").Value = Sheets(1).Range("B8").Value + 1
    Dim imprimante As String
    imprimante = Application.ActivePrinter 'Mémorise le choix de l'imprimante avant l'impression
    Range("R1:AH27").Select
    ChDir "C:\Users\georges\Desktop\Fiche Journalière"
    Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\Users\georges\Desktop\Fiche Journalière\" & Range("R3") & "-" & Range("V3") & "-" & Range("F1") & "-" & Range("F2") & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
    With ActiveSheet
    PageSetup.BlackAndWhite = True
    Range("R1:AH27").Select
    Selection.PrintOut Copies:=1, ActivePrinter:="RICOH MPC307 BYPASS A6"
    PageSetup.BlackAndWhite = False
    End With
    Application.ActivePrinter = imprimante 'Retour à l'imprimante choisie avant l'impression
End Sub

j'ai une erreur d'exécution 424 (objet requis) sur cette ligne là :

Sur quelle ligne ?

Et c'est la Sheet(1) que vous imprimez ?

sur cette ligne la

 PageSetup.BlackAndWhite = True

Je n'imprime que la selection de cellule R1:AH27 (j'enregistre cette selection en pdf et je l'imprime)

Il faudrait déjà que vous recopiiez le code comme je vous l'ai donné pour tester. Ce qui n'est pas le cas

Ensuite je vous ai posé deux questions aussi.

Bonjour Georges Thomas, Dan,

Refait le point...

En comparant bien le code proposé et le tien.

Veuillez m'excuser. Ca marche parfaitement bien... J'essaye de comprendre en même temps votre code et plutôt que de faire un copier coller je modifie moi même mon code. Ca me permet de faire cela par étape et de mieux comprendre. (Ca marche habituellement mais c'est évident qu'en recopiant que quelques bouts de code ca ne peut pas fonctionner... Encore désolé)

Merci beaucoup DAN, c'est exactement ce que je cherchais à avoir.

Qu'en est t'il de la boite de dialogue qui me permettrai d'avoir qu'un seul bouton ? Je n'y avait pas pensé mais je dois avouer que cette solution m'intéresse également. Si vous avez le temps je suis preneur de la solution.

Pour ce qui est des deux questions il me semble que je vous ai répondu ?

Pour ce qui est des deux questions il me semble que je vous ai répondu ?

A la première oui mais pas à la deuxième qui est la plus importante.

Qu'en est t'il de la boite de dialogue qui me permettrai d'avoir qu'un seul bouton ? Je n'y avait pas pensé mais je dois avouer que cette solution m'intéresse également. Si vous avez le temps je suis preneur de la solution.

A voir lorsque j'aurai l'info sur la deuxième question

Je ne vois que ces deux questions :

j'ai une erreur d'exécution 424 (objet requis) sur cette ligne là :

Sur quelle ligne ?

 PageSetup.BlackAndWhite = True

Et c'est la Sheet(1) que vous imprimez ?

Je n'imprime que la sélection de cellule R1:AH27 (j'enregistre cette sélection en pdf et je l'imprime)

Je ne sais pas si cela change qqch mais j'ai une trentaine d'onglets sur ce classeur Excel qui ont tous ce bouton impression (impression et enregistrement de la même plage de cellule)

Lorsque j'appuie sur ce bouton, ca enregistre et imprime la sélection de l'onglet actif.

Je ne sais pas si cela change qqch mais j'ai une trentaine d'onglets sur ce classeur Excel qui ont tous ce bouton impression (impression et enregistrement de la même plage de cellule)

Lorsque j'appuie sur ce bouton, ca enregistre et imprime la sélection de l'onglet actif.

Ok là oui cela change évidemment

1. Je vois que vous incrémentez la cellule B8. C'est uniquement sur la feuille 1 ou sur chaque feuille ?
2. Le nom du fichier vient des cellules R3, V3, F1 et F2 de chaque feuille ou de la feuille 1 ?

Je vous explique vite fait le fichier excel, cela vous éclairera peut être.
Ce ficher est utilisé dans des bureaux, il permet d'éditer des fiches de fabrications qui sont ensuite envoyé en atelier pour fabrication.
La feuille 1 (onglet 1) est l'onglet DATA dans lequel tout plein de paramètres sont enregistré. (principalement de la data pour des listes déroulantes et autres datas diverses permettant de ne pas surcharger tous les autres onglets)
Tous les autres onglets correspondent à des formes (pour la fabrication) exemple onglet 2 (forme rectangulaire) onglet 3 (forme Ronde) , onglet 4 (forme ovale) etc. etc. il y'a une bonne trentaine d'onglet.
Lorsque je reçoit une commande, je sélectionne la forme qui est demandé en choisissant l'onglet correspondant et commence a remplir dans cet onglet tous pleins de champs qui viennent enrichir une fiche de fabrication (sélection R1:AH27). Tous les onglets ont le même aspect, seul la forme globale représenté dans la sélection R1:AH27 change.
Vous aurez donc compris que le la macro EditionFiche vient :
- incrémenter un numéro (qui correspond à un numéro de commande)
- Enregistrer au format .pdf une fiche de fabrication qui est délimité par la sélection R1:AH27
- Imprimer cette même sélection

1. Je vois que vous incrémentez la cellule B8. C'est uniquement sur la feuille 1 ou sur chaque feuille ?

Uniquement sur la feuille 1. Cela ne doit pas avoir d'impact, mais il y'a sur chaque onglet un rappel de la valeur de cette cellule (=sheet1!B8). de sorte que tous les onglets partage cette même incrémentation. (Ce numéro apparait sur la fiche de fabrication que j'édite et d'une fiche a l'autre, peut importe l'onglet utilisé, il n'y a jamais le même numéro étant donné que je l'incrémente à chaque édition de fiche de fabrication) Vous aurez compris que c'est la solution que j'ai trouvé pour que toutes mes commandes ai un numéro unique.

2. Le nom du fichier vient des cellules R3, V3, F1 et F2 de chaque feuille ou de la feuille 1 ?

Le nom du fichier PDF est le résultat de la concaténation de plusieurs cellules qui sont sur l'onglet sur lequel je me trouve (onglet de fiche de fabrication et non l'onglet DATA) . Peut importe l'onglet, ce sont toujours les mêmes cellules.
Lors du traitement de la commande, je disais plus haut que je devais sélectionner la forme correspondante pour ensuite remplir divers champs (ici F1 et F2 sont certains de ces champs). Le fichier .pdf que j'édite porte donc ce nom la :
R3 = date du jour

V3 = Cellule qui copie (=sheet1!B8) et qui est donc le résultat du compteur de commande
F1 = Nom client

F2 = Ref Client.


Tous mes fichiers ont donc pour nom (23février2023-4532-DAN-REMERCIEMENT.pdf)

Voila.

Merci des explications.

Essayez votre code comme ceci

Sub EditionFicheNetB()
'EditionFicheNetB Macro
Dim imprimante As String, chemin As String, fichier As String

Sheets("DATA").Range("B8").Value = Sheets("DATA").Range("B8").Value + 1

imprimante = Application.ActivePrinter 'Mémorise le choix de l'imprimante avant l'impression
chemin = "C:\Users\georges\Desktop\Fiche Journalière"

With ActiveSheet
    If MsgBox("Voulez-vous imprimer en Noir et Blanc ?", vbYesNo + vbDefaultButton2, "Couleur Impression") = vbYes Then .PageSetup.BlackAndWhite = True

    .Range("R1:AH27").PrintOut Copies:=1, ActivePrinter:="RICOH MPC307 BYPASS A6"
    .PageSetup.BlackAndWhite = False

    fichier = .Range("R3") & "-" & .Range("V3") & "-" & .Range("F1") & "-" & Range("F2") & ".pdf"
    .Range("R1:AH27").ExportAsFixedFormat Type:=xlTypePDF, Filename:=chemin & fichier, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False

End With
Application.ActivePrinter = imprimante 'Retour à l'imprimante choisie avant l'impression
End Sub

Seul chose, on imprime d'abord puis on réalise le fichier PDF qui reprendra les couleurs de la feuille. De ce coté cela importe peu de toute façon.

si ok -->

Cordialement

Merci beaucoup.

Ca fonctionne parfaitement.

Rechercher des sujets similaires à "impression noir blanc couleur"