xlDialogPrinterSetup récalcitrante

D

Delcourt

Guest
Bonjour à tous,

J'ai trouvé le code ci-dessous pour gérer la destination des impressions.
Le choix fonctionne correctement.
Cependant lorsque je choisis une imprimante et clique sur le bouton "configuration", la boîte de dialogue configuration concerne l'imprimante précédente???
Que me manque-t-il

Public Sub Choix()
Const msgPart1 = " Offre à imprimer sur "
Const msgPart2 = "Imprimante active :"
Const msgPart3 = "Voulez-vous changer d'imprimante ?"
Dim Actual_Printer As String, nbPages As String
'If Not BookName = "" Then
' Workbooks(BookName).Activate
' nbPages = ExecuteExcel4Macro("GET.DOCUMENT(50)") & msgPart1
'End If
Actual_Printer = Application.ActivePrinter
Reply = MsgBox(nbPages & msgPart2 & vbLf & Actual_Printer & " !" & vbLf & vbLf & msgPart3, vbYesNoCancel, "Info utilisateur")
If Reply = vbYes Then
Application.Dialogs(xlDialogPrinterSetup).Show

End If
If Reply = vbNo Then Printer_Choice = True
If Reply = vbCancel Then Exit Sub
End Sub
 
@

@+Thierry

Guest
Salut Delcourt, le Forum

Je te conseille plutôt de remplacer :
Application.Dialogs(xlDialogPrinterSetup).Show

Par :
Application.Dialogs(xlDialogPrint).Show

Qui est bien plus adapté si tu veux lancer une impression.... car cette Built-In Dialog Box peut gérer les arguments suivants :

range_num, from, to, copies, draft, preview, print_what, color, feed, quality, y_resolution, selection, printer_text, print_to_file, collate

Alors que la première ne contient que : printer_text

De plus c'est excate que le Bouton "Set-UP" semble renvoyer la dernière imprimante utilisée plutôt que celle sélectionnée... Chose que ne fait pas "xlDialogPrint"...

Sinon je n'ai rien testé de ta macro, mais elle me semble bien compliquée juste pour une impression...

Bon Courage
@+Thierry