Choisir une imprimante (macro)

Bonjour,

J'aimerai savoir s'il était possible de choisir avec quelle imprimante on veut que le fichier s'imprime. A chaque fois, cela prend l'imprimante par défaut mais moi, j'aimerai qu'il sélectionne l'impression par "PDFcreator"

Voici mon programme pour imprimer :

Sub Impression_client()

'Sélection des différentes pages
    Sheets(Array("PG1", "PG2", "Som", "D1", "D2", "D3", "D4", "D5", "AF", "PVSyst", "OM1", _
        "OM2", "Anx", "UNIF")).Select
'Impression des pages sélectionnées, une copie
    ActiveWindow.SelectedSheets.PrintOut Copies:=1

End Sub

Merci d'avance

Bonjour

test cela:

Sub Impression_client()

'Sélection des différentes pages
   Sheets(Array("PG1", "PG2", "Som", "D1", "D2", "D3", "D4", "D5", "AF", "PVSyst", "OM1", _
        "OM2", "Anx", "UNIF")).Select
'Impression des pages sélectionnées, une copie
   ActiveWindow.SelectedSheets.Printpreview 'Out Copies:=1

End Sub

cela te permet de voir et de choisir ensuite l'imprimante

autre piste

Salut le forum

Tu peux utiliser une boite de dialogue pour la sélection

Application.Dialogs(xlDialogPrinterSetup).Show

en début de procédure.

Tu reviens si des problèmes a adapter

Mytå

Merci beaucoup, j'vais choisir la solution de sélectionner l'imprimante avant d'exécuter le reste

-- 22 Avr 2010, 09:55 --

Désolé mais je viens de m'apercevoir de quelque chose.

La fenêtre pour le choix de l'imprimante s'affiche bien mais quand, au lieu de choisir mon imprimante, je clique sur "annuler" (sur la fenêtre du choix de l'imprimante) excel imprime avec l'imprimante choisi par défaut.

Ya t'il une solution pour que si je clique sur "annuler", le reste du programme ne s'exécute pas ?

même si il y a un déterrage de topic dans les règle de l'art, quelqu'un peut confirmé ou corriger ce que je dit ? merci

j'ai exactement le même problème, la procédure continue sur l’imprimante dite "par défaut"

le bouton annuler doit surement agir sur l'action CHOIX de l'imprimante et non sur la demande d’annulation d'impression.

du coup j'utilise une msgbox avant ,

Sub imp_selec()
'
' choix de l'impression réseau
'
' premier fenêtre de dialogue.
msg = "Choisir votre imprimante réseau? Cliqué OUI "
'Définit les boutons.
Style = vbYesNo + vbDefaultButton1
' Définit les titres.
Title = "imprimer"
Réponse = MsgBox(msg, Style, Title)
' Vous avez choisi le bouton « Oui ».
If Réponse = vbYes Then

Application.Dialogs(xlDialogPrinterSetup).Show '<==== fenêtre de dialogue choix imprimante, si cliqué sur annuler,  l'impression de fera sur l'imprimante par défaut!

Range("A1:Q22").Select 'selection des zones du tableur que je voudrais imprimer
    ExecuteExcel4Macro "PRINT(1,,,3,,,,,,,,1,,,TRUE,,FALSE)" 'editer avec l'enregistrer une macro

    'confirmation impression
msg = "N'oubliez pas vos documents à l'imprimante !"

Style = vbOKOnly
Réponse = MsgBox(msg, Style, Title)
Else

' Vous avez choisi le bouton « non ».
'confirmation annulation impression actif uniquement sur la première msgbox

msg = "impression réseau annuler !"

Style = vbOKOnly
Réponse = MsgBox(msg, Style, Title)
End If

End Sub
vodkaddict a écrit :

Merci beaucoup, j'vais choisir la solution de sélectionner l'imprimante avant d'exécuter le reste

-- 22 Avr 2010, 09:55 --

Désolé mais je viens de m'apercevoir de quelque chose.

La fenêtre pour le choix de l'imprimante s'affiche bien mais quand, au lieu de choisir mon imprimante, je clique sur "annuler" (sur la fenêtre du choix de l'imprimante) excel imprime avec l'imprimante choisi par défaut.

Ya t'il une solution pour que si je clique sur "annuler", le reste du programme ne s'exécute pas ?

Salut le Forum

Un simple test pour détecter le bouton choisi (OK - Annuler)

    Dim vbPrinter
    vbPrinter = Application.Dialogs(xlDialogPrinterSetup).Show
    If vbPrinter = True Then
        Sheets("Site Sheet").PrintOut From:=1, To:=3
    Else: Exit Sub
    End If

Mytå

salut Myta ,

si je comprend bien

Else: Exit Sub <==== nous donne la solution pour le bouton annuler ?

Re

Le bouton Annuler ou la Croix de fermeture retourne la valeur False.

    If vbPrinter = True Then
        'Action OK
        PrintOut 'Action Impression
    Else
        'Action Annulé
        Exit Sub 'Fin du traitement
    End If

Mytå

merci

Rechercher des sujets similaires à "choisir imprimante macro"