Sub test()
Dim ImprimanteDésirée As String, ImprimanteActuel As String
'************** VARIABLE À DÉFINIR*********************
'Le nom de l'imprimante que tu veux tel qu'il est écrit
'dans le panneau de configuration / Périphériques
ImprimanteDésirée = "HP Deskjet 930C/932C/935C"
'*******************************************************
'Prend en note l'imprimante par défaut actuel
ImprimanteActuel = Application.ActivePrinter
'Modifie l'imprimante pour celle que tu désires.
ChangeImprimanteParDéfaut ImprimanteDésirée
'Exécute l'impression
'ActiveWindow.SelectedSheets.PrintOut Copies:=1
'Remet l'imprimante par défaut comme avant.
ChangeImprimanteParDéfaut ImprimanteActuel
End Sub
'-----------------------------------------------------------
Sub ChangeImprimanteParDéfaut(Imprimante)
Dim WshNetwork, oPrinters, I, DefPrinter
DefPrinter = Application.ActivePrinter
Set WshNetwork = CreateObject("WScript.Network")
Set oPrinters = WshNetwork.EnumPrinterConnections
For I = 0 To oPrinters.Count - 1 Step 2
If InStr(1, Imprimante, oPrinters.Item(I + 1), vbTextCompare) = 1 Then
WshNetwork.SetDefaultPrinter oPrinters.Item(I + 1)
Exit Sub
End If
Next
End Sub