Voici un nouvel essai :
Sub Imprimer_Liste_Fichier_PDF_2()
Dim i As Integer
with activesheet
CreateObject("WScript.Network").SetDefaultPrinter .cells(2, 2).value 'temporaire
For i = 1 To 2 'Boucle pour imprimer la liste mentionnée en colonneA (seulement 2 pour l'exemple).
CreateObject("Shell.Application").Namespace(0).ParseName(.Cells(i, 1).Value).InvokeVerb ("Print") 'Imprimer
Next i
CreateObject("WScript.Network").SetDefaultPrinter .cells(3, 3).value 'initiale
end with
MsgBox ("IMPRESSION TERMINE")
End Sub
Ca devrait marcher.
Pour remettre l'imprimante par défaut, il faut mettre son nom en dur dans le code ou sinon reprendre l'idée d'Arturo83 et, si activeprinter renvoie un chemin complet, prendre la dernière partie :
t = split(chemin, "\")
prnorm = t(ubound(t))
Cdlt,