IMPRIMER SUR L'IMPRIMANTE DE SON CHOIX SANS MODIFIER L'IMPRIMANTE PAR DÉFAUT

LeWolf Messages postés 31 Date d'inscription mardi 14 août 2001 Statut Membre Dernière intervention 29 décembre 2008 - 16 juil. 2003 à 17:01
cs_tekanerahtatase Messages postés 22 Date d'inscription mercredi 17 octobre 2007 Statut Membre Dernière intervention 31 janvier 2011 - 31 janv. 2011 à 14:27
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/5386-imprimer-sur-l-imprimante-de-son-choix-sans-modifier-l-imprimante-par-defaut

cs_tekanerahtatase Messages postés 22 Date d'inscription mercredi 17 octobre 2007 Statut Membre Dernière intervention 31 janvier 2011
31 janv. 2011 à 14:27
J'ai le message d'erreur suivant: User-defined type not defined.
sur la ligne :
Private Declare Function PrintDlg Lib "comdlg32.dll" Alias "PrintDlgA" (pPrintdlg As InformationImprimante) As Long

Quelqu'un peut m'aider... ? merci
nvb23 Messages postés 3 Date d'inscription mardi 7 août 2007 Statut Membre Dernière intervention 4 septembre 2007
10 août 2007 à 10:18
salut
j'ai copie ce que t'as ecrit mais ca ne marche pas il me dise que printer et printers ne sont pas declare et j'ai besoin d'aide pour imprimer un fichier word avec choix de l'imprimante parce que j'ai fAIT un programme qui quelquesoit le choix de l'imprimante que j'ai fait (dans printdialog)me renvoie a l'imprimante par default.
remarque: je travaille sur vb 2005
K_Nicaise82 Messages postés 3 Date d'inscription vendredi 21 avril 2006 Statut Membre Dernière intervention 27 juin 2006
27 juin 2006 à 13:05
Je voudrais lancer l'impression d'un état sur un poste client.Mon application est réalisée en vb.net et utilise crystal report.C'est une application webform.
vienbv Messages postés 14 Date d'inscription lundi 1 novembre 2004 Statut Membre Dernière intervention 17 mars 2010
21 juin 2006 à 05:13
C'est surper. Je te remercie, ce code m'aide à trouver la solution que j'ai du mal à faire.
potain_vb Messages postés 6 Date d'inscription mercredi 22 juin 2005 Statut Membre Dernière intervention 10 juin 2009
16 juin 2006 à 13:16
j'ai une methode printimage sur le imgedit avec en paramètre il faut passer

imgedit1.printimage [startpage][endpage][outputformat][annotation][printer][Driver][Portnumber]. Comment je peux y adapter par rapport a printer?
cs_dox Messages postés 8 Date d'inscription jeudi 17 août 2000 Statut Membre Dernière intervention 21 janvier 2008
16 juin 2006 à 11:36
Réponse à POTAIN_VB
Désolé mais je ne connais pas l'ocx d'imaging, voir si il n'existe pas une méthode print sur ce controle.

Bonne chance
potain_vb Messages postés 6 Date d'inscription mercredi 22 juin 2005 Statut Membre Dernière intervention 10 juin 2009
15 juin 2006 à 19:08
BOnjour COmment fait on pour adapter votre code pour qu'au lieu d'imprimer ce qu'il y a dans la richtextbox , on puisse imprimer un fichier comme par exemple un Tif ? car en fait j'ai développer un visualiseur tif autour de l'ocx d'imaging et je voudrais mettre la fonction imprimer.

SI vous savez comment faire merci ca serait sympa .

@+++
bichoncanada Messages postés 47 Date d'inscription mercredi 1 mars 2006 Statut Membre Dernière intervention 31 mai 2006
20 avril 2006 à 15:43
Salut dox,
Vu que tu as réussi a faire ce code pour une imprimante, je me demandais si tu n'en avais pas un concernant le choix de webcam. Je m'explique, pouvoir choisir une webcam parmis d'autres connectés au meme PC sans changer celle par défaut. Vois tu ce que je veux dire ?
Cela fait 1 mois que je galère et personne n'a pu encore m'aidé, mes espoirs reposent sur toi, lol. Non, sérieusement ca m'aiderait bcp et me permettrait d'avancer.

Merci d'avance,

bonne journée

Guillaume
cs_MGD Messages postés 9 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 16 octobre 2008
17 juil. 2005 à 19:01
Oui.... Et c'est avec ce code que vous arrivez à imprimer en recto-verso, 2 pages par feuilles en mode livret ??? Bien sûr, sur une imprimante autre que l'imprimante par défaut et avec un réglage par défaut différent... Le recto-verso simple, on y arrive avec la propriété Duplex. Mais pour le reste??

Ce que je recherche, ce n'est pas liste des imprimantes, c'est comment lire et écrire ce type de paramètre dans l'objet Printer de VB.

Au fait, j'ai trouvé chez Microsoft une DLL qui permet d'appeler les mêmes fonctions que la partie Impression de l'ActiveX Common Dialog, mais sans avoir à charger le contrôle. Cela s'appelle VBPrnDlg.dll et se télécharge à partir de :
<<http://search.microsoft.com/search/results.aspx?qu=vbprndlg&View=msdn&st=b&c=0&s=1&swc=0>>
Attention : l'adresse est constituée de TOUT ce qui est entre <<et>> (même si sur votre écran il y en a une partie à la ligne suivant) Si vous ne trouvez pas, allez sur la MSDN et tapez VBPRNDLG dans le moteur de recherche.
Notez que cela ne résoud pas mon problème...
cs_elab Messages postés 1 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 26 septembre 2010
16 juil. 2005 à 23:21
bonjour si ca peut vous aider
sur un feuille en vb6 pro mettre un bouton et copier:

Private Sub Command1_Click()
Dim i
Dim bb
For i = 0 To Printers.Count - 1
bb = Printers(i).DeviceName ' imp des N° imprimantes et nom
bbb = bbb & bb
Print bb
Next i
' une stylus c62 en N°5 et une stylus c64 en N°0(imp par defaut)
Set Printer = Printers(5)
Printer.Print bbb
Printer.EndDoc
Set Printer = Printers(0)
Printer.Print bbb
Printer.EndDoc

End Sub
cs_MGD Messages postés 9 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 16 octobre 2008
14 juil. 2005 à 15:52
J'avais écrit à peu près la même chose il y a plusieurs années. Malheureusement, la recopie des propriétés dans l'objet Printer de VB ne suffit pas, car ce dernier ne connait pas tous les détails des imprimantes modernes : par exemple, avec une HP Laserjet 2300dn (ou une autre supportant le recto-verso), essayez d'imprimer en recto-verso, deux pages par feuille en mode livret... aucune de ces options n'est prise en compte.

En fait, il faudrait pouvoir recopier les structures récupérées par PrintDlg dans celles de l'objet Printer de VB (et encore, il faudrait utiliser les nouvelles structures PRINTDLGEX et la fontion PrintDlgEx). Je n'ai pas encore trouvé comment y accéder. Si vous avez une méthode, je suis preneur.
KeepCool37 Messages postés 11 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 30 novembre 2006
15 juin 2005 à 14:11
Merci pour le code.
Toutefois, ça ne marche pas sur ma machine XP avec une imprimante en partage sur le réseau dont le nom dépasse 32 caractères genre "ilétaitunefoissurleréseau une belle imprimante", bref un nom à la Bill Gates.
J'ai donc remplacé la ligne 108
If nomImprimante = imprimante.DeviceName Then
par
If InStr(1, imprimante.DeviceName, nomImprimante) Then
et ça marche au poil !
Voilà
Lindice Messages postés 1 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 22 mai 2005
22 mai 2005 à 16:37
Merci dox : j'ai pas mal galéré sur un problème d'impression avant de trouver ton code. Ca marche parfaitement...
ToshiBaba Messages postés 25 Date d'inscription mercredi 28 mai 2003 Statut Membre Dernière intervention 24 septembre 2004
2 févr. 2004 à 18:44
Salut,
je suis sous w2k, vb6 sp5. J'ai aussi l'erreur 482 "Erreur imprimante" (soit-dit en passant, on est super avancé avec un message aussi explicite) mais à la ligne printer.EndDoc
En traçant, je me suis rendu compte que le nom de mon imprimante réseau prenait plus de 32 caracteres... mais même résolvant ce souci, j'ai toujours cette erreur. Si quelqu'un a une idée, je suis preneur :)
cs_PROGRAMMIX Messages postés 1133 Date d'inscription mercredi 2 octobre 2002 Statut Membre Dernière intervention 24 juillet 2011 2
6 nov. 2003 à 16:10
>>>fvajol
J'utilise également ce code avec Win98 SE et VB6 SP5 et il ne me pose aucun problème de ce genre...

As-tu fait du copier-coller ? Les dll sont-elles bien présentes ?
As-tu activé le gestionnaire d'erreur pour tenter de récupérer la main ?
fvajol Messages postés 4 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 11 avril 2008
6 nov. 2003 à 10:48
J'utilise le code fourni sous windows 98. Il fonctionne très bien jusqu'au moment où je veux fermer l'application. J'ai alors un message me disant 'Erreur Imprimante' apparaît ensuite un deuxième message 'Cette application a créer une erreur ... dans Kernel32.dll'. Le seul moyen qui me reste pour récupérer la mai est de couper mon pc et de le redémarrer...

Si vous avez des réponses, je suis preneur...
cs_PROGRAMMIX Messages postés 1133 Date d'inscription mercredi 2 octobre 2002 Statut Membre Dernière intervention 24 juillet 2011 2
21 oct. 2003 à 12:30
J'aimerais permettre le choix entre "Tout imprimer" et "Imprimer la sélection" (voire "Imprimer page x à Y").

Comment faire pour récupérer ces options définies par l'utilisateur ?
LeWolf Messages postés 31 Date d'inscription mardi 14 août 2001 Statut Membre Dernière intervention 29 décembre 2008
16 juil. 2003 à 17:01
Tres bien
Ca c'est pil poil ce que je cherchai
Y a plus qu'a mettre le nouveau commondialog et c'est parfait :)
Rejoignez-nous