CODE VBA POUR PARAMETRE IMPRIMANTE

hurluberlu2 - 30 janv. 2013 à 15:27
 hurluberlu2 - 5 févr. 2013 à 09:17
Bonjour à tous,
et meilleurs voeux pour 2013(je suis encore dans les temps...)


je suis à la recherche d'une instruction permettant de modifier les parametres d'impression de l'imprimante par defaut.
j'utilise excel 2k3 et(ou) 2k7, et suis donc limité par le language vba.

j'ai bien trouvé une instruction duplex dans vba access, mais elle n'existe pas dans excel.

excel , a priori, n'a pas de commande pour piloter le driver d'impression.

le but:

dans un programme qui permet d'obtenir differentes feuilles excel, je concatene certaine et les imprime sur des imprimantes ( dont je ne connais pas la reference) qui sont par defaut en recto/verso.

Ces documents doivent obligatoirement être en mode recto seul.

pour l'instant, je sèche.

si quelqu'un(e) a une petite idée, merci par avance.

7 réponses

cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
30 janv. 2013 à 15:42
je déplace dans la rubrique "hurluberlu",
pardon VBA...


cantador
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
30 janv. 2013 à 16:48
Bonjour,

Avec cette instruction tu as toutes les imprimantes de la machine. Tu sélectionnes celle que tu désires et tu la configures:

Application.Dialogs(xlDialogPrinterSetup).Show



@+ Le Pivert
0
Bonjour Cantador,

désolé, je n'avais pas vu qu'il y a une rubrique spécifique vba.
ceci étant, je ne retrouve pas ma question dedans.
...
Bonjour, Le Pivert

je connais cette instruction, mais elle ne fait qu'ouvrir une boite de dialogue pour selectionner les imprimantes, pas leurs parametres.
je ne souhaite pas passer par cette étape, mais parametrer directement en vba certaines fonctions (recto/verso, N&B etc...).
je pense qu'il faut sortir des bibliotheques excel, et je ne connais pas
celle de windows qui gère le drivers d'impression.

cordialement.
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
1 févr. 2013 à 15:16
Je ne pense pas que l'on puisse régler l'imprimante recto-verso par macro. Par contre tu peux régler l'impression en noir et blanc avec l'objet PageSetup de la feuille à imprimer comme ceci:

Worksheets("Sheet1").PageSetup.BlackAndWhite = True

En sélectionnant PageSetup et en cliquant sur l'aide F1 tu auras toutes les fonctions en allant dans les propriétés de PageSetup. Qualité du papier, orientation etc.

Enfin voici encore une autre boite de dialogue pour régler l'imprimante qui est différente de la précédente:

Application.Dialogs(xlDialogPrint).Show

Si cela peut faire ton bonheur!

@+ Le Pivert
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
merci pour ta reponse,

"Le Pivert

"Je ne pense pas que l'on puisse régler l'imprimante recto-verso par macro "

je pense que si, mais en passant par les API WIN32;
ça fait un peu usine à gaz pour pas grand chose, mais je pense que la solution est par là.


je cherche et vous tiens au courant.

cordialement
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
1 févr. 2013 à 17:52
En parlant d'usine à gaz, j'ai trouvé une solution. Passer la commande sous Word!
Il existe une propriété d'impression recto verso sous Word qui se nomme:

ManualDuplexPrint

et voilà ce que dit l'aide:

Argument de type Variant facultatif.
Affectez-lui la valeur True pour imprimer un document recto verso sur une imprimante sans kit d'impression recto verso.
Si cet argument a pour valeur True, les propriétés PrintBackground et PrintReverse sont ignorées.
Utilisez les propriétés PrintOddPagesInAscendingOrder et PrintEvenPagesInAscendingOrder pour contrôler la sortie lors d'une impression recto verso manuelle.
Il se peut que cet argument ne soit pas disponible, selon la prise en charge de langue (anglais (États-Unis), par exemple) que vous avez sélectionnée ou installée.

Mais cette propriété n'est pas disponible sous Excel.

Cette solution n'est pas la plus rationnelle, mais elle a le mérite d'exister!

@+ Le Pivert
0
merci LePivert pour ta réponse.

j'ai trouvé un bout de code que je suis entrain de tester dans mon programme.
il utilise les api win32, Librairie "winspool.drv"

je reviens sur le forum dés que j'ai un résultat probant.

cordialement.
0
Rejoignez-nous