Choix d'une imprimante

max_31

XLDnaute Junior
Bonjour le forum,

Je travaille sur un fichier partagé. J'ai réalisé des macros faisant des extractions d'une base de données. Je suis amené à choisir une imprimante du réseau afin de pouvoir réaliser la mise en page automatique de mon document.
Je fais mon choix d'imprimante comme suit :
Application.ActivePrinter = "\\DC-TO001\TOU02_W_RIC2045 sur Ne02:"
Le probleme que je rencontre est que chaque utilisateur n'a pas le meme nom d'imprimante. Le "2" de "Ne02" peut etre un "1" ou un "3" ou un "4", suivant l'utilisateur.

Auriez vous une idée de l'instruction à mettre en place ? Si je ne suis pas assez clair ou que les informations que je vous donne ne sont pas suffisantes, n'hesitez pas a me poser des questions.

Merci d'avance pour vos contributions.
 

yojema

XLDnaute Occasionnel
Re : Choix d'une imprimante

Bonjours

au boulot je peut imprimer sur plusieur imprimantes reseaux mais evidement

j utilise celle qui est branché le plus proche de moi et donc afin de lancer une

Macro pour imprimer sans me soucier de laquelle je configure l imprimante par

defaut qui m interesse dans les paramettre Windows--Paneaux de config.--

imprimante les utilisateurs de ton fichiers n ont qu a faire de même !!!

voila a +
 

max_31

XLDnaute Junior
Re : Choix d'une imprimante

Je suis d'accord avec toi, mais le probleme est que nous avons des imprimantes individuelles, qui n'impriment que du A4, et que les sorties que je souahite faire sont sur du A3, et du coup, il faut prendre l'imprimante commune, et suivant les postes la définition de cette imprimante varie au niveau du dernier caractère...
Aurais tu une idée malgre tout ?
 

max_31

XLDnaute Junior
Re : Choix d'une imprimante

Merci bien jmps. Ca marche pas bien.

J'utilise cette instruction dans de multiple modules. Ainsi, je souhaite mettre le nom de l'imprimante dans une variable, et appeler cette variable dans chacun des modules. :
Ex : Nom_Imprimante = "\\DC-TO001\TOU02_W_RIC2045 sur Ne0" & var & ":"
Et dans le module je vais taper : Application.ActivePrinter = Nom_Imprimante
Ou dois je creer la routine (dans un module, ou autre), avec quelle appellation ("private sub" ou "sub" ou ...) pour que le nom de la variable soit connue par le module de traitement.
Je ne sais pas si j'ai ete clair.
 

yojema

XLDnaute Occasionnel
Re : Choix d'une imprimante

Re salut

en reponse a ton derniers message je crois que ceci devrait t aller

on peut contourner le probleme tu fais une macro uniquement dedié a la

partie impression et la je sais plus comment on fait mais il il me semble que l

on peut enregistrer des macro qui peuvent "servir" a plusieurs modules et

meme plusieurs fichiers

l interet dans ton cas c est que tu creer ta macro tu lui donne un nom et tu

l install chez chaque utilisateur en personalisant chez chaque utilisateur cette

ligne Application.ActivePrinter = "\\DC-TO001\TOU02_W_RIC2045 sur Ne02:"

il te reste plus après qu a appeller c ette macro par son nom via

application.run et cette macro s executera avec les valeur perso a chaque

poste voila c est une solution demerde je suis quasiment sur qu il est possible

de faire directement comme tu voudrait et ca serait plus fun mais si personne

te donne le bonne solution tu as toujours ca a+
 

max_31

XLDnaute Junior
Re : Choix d'une imprimante

Merci tous les 2 pour vos réponses.
Pour ne rien cacher a personne, j'ai utilisé la solution de jmps.... Ca me paraissait plus simple a mettre en place.
Merci pour la notion de "Public", que je ne connaissais pas.
La, ca roule nickel. Donc merci pour vos contributions.
 

chris

XLDnaute Barbatruc
Re : Choix d'une imprimante

Bonjour
Sinon il faut une macro qui récupère des données de la base de registre.
Le problème est que selon la version de Windows et la langue, l'entrée de la base de registre n'est pas la même. Il y a 3 ans j'avais bricolé un truc sur Win NT et cela ne marchait pas sur Win 2000.
Ce PB est toujours compliqué à régler.
Il y a sans doute des api windows.
 

michel_m

XLDnaute Accro
Re : Choix d'une imprimante

Bonsoir à tous

Ce code liste les imprimantes installées sur un poste (d'après script WMI , MSDN Microsoft)
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer")
lig = 1
For Each objPrinter In colInstalledPrinters
Cells(lig, 1) = objPrinter.Name
lig = lig + 1
Next

fonctionne à partir de client Win NT4 SP4, 2000 pro,XP

Bonne soirée
 
Dernière édition:

Discussions similaires

  • Résolu(e)
XL pour MAC ISBN
Réponses
37
Affichages
2 K

Statistiques des forums

Discussions
312 763
Messages
2 091 858
Membres
105 079
dernier inscrit
Biscot_399