*selection d'imprimante dans Excel

jjdk Messages postés 256 Statut Membre -  
 thepsalmist -
Bonjour
Dans une macro sous excel j'ouvre une boite de dialogue pour selectionner l'imprimante. (Nous avons plusieurs imprimantes reseau)
la ligne de code est :
Application.Dialogs(xlDialogPrinterSetup).Show

Le probleme est que quelle que soit l'imprimante selectionnée dans cette boite, c'est toujours l'imprimante par defaut de windows qui est utilisée ?!
Même dans les menus d'Excel je ne trouve pas où selectionner une imprimante quand je lance une impression ?

Qu'oublis-je ?
Ca se passe où ?

Merci par avance pour toute info
jjd
A voir également:

2 réponses

tompols Messages postés 1273 Date d'inscription   Statut Contributeur Dernière intervention   435
 
Salut,

Dans l'aide vba :
PrintOut, méthode
Voir aussi S'applique à Exemple Spécificités
Cette méthode imprime l'objet.

expression.PrintOut(From, To, Copies, Preview, ActivePrinter, PrintToFile, Collate, PrToFileName)

expression Obligatoire. Expression qui renvoie un des objets répertoriés dans la liste S'applique à.

From Argument de type Variant facultatif. Numéro de la page à partir de laquelle commence l'impression. Si vous ne spécifiez pas cet argument, l'impression commence à la première page.

To Argument de type Variant facultatif. Numéro de la dernière page à imprimer. Si vous ne spécifiez pas cet argument, l'impression s'effectue jusqu'à la dernière page.

Copies Argument de type Variant facultatif. Nombre de copies à imprimer. Si vous ne spécifiez pas cet argument, une seule copie est imprimée.

Preview Argument de type Variant facultatif. Affectez-lui la valeur True pour que Microsoft Excel affiche un aperçu de l'objet avant de l'imprimer. Affectez-lui la valeur False (ou ne le spécifiez pas) pour imprimer l'objet immédiatement.

ActivePrinter Argument de type Variant facultatif. Définit le nom de l'imprimante active.

PrintToFile Argument de type Variant facultatif. Affectez-lui la valeur True pour imprimer dans un fichier. Si vous ne spécifiez pas PrToFileName, Microsoft Excel invite l'utilisateur à entrer le nom du fichier de sortie.

Collate Argument de type Variant facultatif. Affectez-lui la valeur True pour assembler plusieurs copies.

PrToFileName Argument de type Variant facultatif. Si l'argument PrintToFile a la valeur True, cet argument spécifie le nom du fichier vers lequel vous souhaitez effectuer l'impression.

Notes
Les « pages » évoquées dans la description des arguments From et To font référence aux pages imprimées et non à toutes les pages de la feuille ou du classeur.

Exemple
Cet exemple montre comment imprimer la feuille active.

ActiveSheet.PrintOut
1
jjdk Messages postés 256 Statut Membre 60
 
Merci pour l'aide

En fait après avoir rebooté ma machine j'ai retrouvé dans la fenetre "imprimer" la possibilité de selectionner une imprimante autre que celle par defaut !!!.
Concernant la macro, j'utilise Application.Dialogs(xlDialogPrinterSetup).Show. Le changement d'imprimante ne fonctionne pas quand je mets ce code dans une fonction (qui retourne le nom de l'imprimante selectionnée) par contre ça marche si c'est dans un "sub" ??
jjd
0
random > jjdk Messages postés 256 Statut Membre
 
il doit exister une collection printers
essaye de regarder

for each nimprimante in objetparent.printers
msgbox nimprimante.name
next
0
thepsalmist
 
"si c'est dans un "sub" ??"
oui:

Sub choix_imprimante

On Error Resume Next

imprimante = Application.Dialogs(xlDialogPrinterSetup).Show
Application.ActivePrinter = imprimante

End Sub
0
lindaa
 
Bonjour,

j'aimerais savoir comment modifier le nombre de copie par defaut lors de l'impression d'un fichier.
A chaque fois que j'ouvre ce fichier et que j'imprime il me propose obligatoirement 20 copies.
Comment faire?
1
gandrews
 
bonjour

il suffit de faire Fichier / Mise en Page /

de choisir Options et de specifier le nombre de copies


Salutations
0