Chnager l'imprimante par défaut

Résolu
lulufraise Messages postés 14 Date d'inscription jeudi 26 juin 2008 Statut Membre Dernière intervention 27 juin 2008 - 27 juin 2008 à 10:23
lulufraise Messages postés 14 Date d'inscription jeudi 26 juin 2008 Statut Membre Dernière intervention 27 juin 2008 - 27 juin 2008 à 11:52
Bonjour, j'ai un problème avec ma macro.en fait elle fonctionne bien mais l'imprimante par défaut est une imprimante pour étiquette.donc il me faudrais un code pour changer l'imprimante.je vous donne un bout de mon code pour comprendre ce que j'ai fait.
Merci beaucoup.
Option Explicit
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
 (ByVal hwnd As Long, ByVal lpOperation As String, _
 ByVal lpFile As String, ByVal lpParameters As String, _
 ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
 
 
 Sub Imprim()
 Dim reponse As String
 reponse = InputBox("Numéro d'identification", "Saisir le numéro")
    If reponse = "" Then
        Call MsgBox("aucun numéro n'a été entré", , "Erreur")
  
        ElseIf reponse = "01055330" Then
            Dim NomFichier1
                NomFichier1 = "D:\Data\fourlud\My Documents\notices\2553.804_11_28.pdf"
                If Dir(NomFichier1) <> "" Then
                    ShellExecute 0, "print", NomFichier1, "", "", 0
                End If
End Sub

7 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
27 juin 2008 à 10:41
salut,

effectivement tu imprimes (par shellexecute) sur l'imprimante par défaut donc pas forcément la bonne...

http://www.codyx.org/snippet_choisir-imprimante-sans-boite-dialogue_495.aspx#1568
++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
3
lulufraise Messages postés 14 Date d'inscription jeudi 26 juin 2008 Statut Membre Dernière intervention 27 juin 2008
27 juin 2008 à 10:58
Merci de t'être penché sur mon cas, mais je ne comprend pas très bien où je dois mettre ce code et ce que je dois enlever dans le mien.
Il faut m'excuser je débute, j'ai appris y'a une semaine!!
Merci
3
lulufraise Messages postés 14 Date d'inscription jeudi 26 juin 2008 Statut Membre Dernière intervention 27 juin 2008
27 juin 2008 à 11:09
J'ai essayé ce que tu m'a proposé é j'ai un message d'erreur (jsui tro nul!!)
"type défini par l'utilisateur non défini" cette erreur est sur la ligne : Dim oTestPrinter As Printer
Voila c'est genti de me repondre merci.
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
27 juin 2008 à 11:20
tu es bien en VB6 ??

Vous êtes ici : [infomsg.aspx Thèmes] / [infomsgf_VISUAL-BASIC_1.aspx Visual Basic 6] / [infomsgt_DIVERS_220.aspx Divers] / [infomsgt_GENERAL_222.aspx General] / Chnager l'imprimante par défaut

le code est à copier dans un module standard
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
3

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

Posez votre question
lulufraise Messages postés 14 Date d'inscription jeudi 26 juin 2008 Statut Membre Dernière intervention 27 juin 2008
27 juin 2008 à 11:25
oui, oui j'ai visual Basic 6.3!
Heuuu, c'est quoi un module standard?je l'ai copier tout en haut, avant Sub imprim
et je n'est rien changer au code.
merci
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
27 juin 2008 à 11:42
VB6.3 c'est VBA, pas VB6 !

néanmoins l'objet printer doit aussi y être...
0
lulufraise Messages postés 14 Date d'inscription jeudi 26 juin 2008 Statut Membre Dernière intervention 27 juin 2008
27 juin 2008 à 11:52
Ok bin merci quand même , désolé de mettre tromp.
Mais bon je fais essayé de trouver un autre moyen parce que cela ne fonctionne pas.
Encore merci et bonne journée.
0
Rejoignez-nous