J'ai trouvé un code mais ça ne marche toujours pas, il imprime sur l'imprimante réseau et non par PDF Writer, je comprend pas pourquoi
'Initialisationdes varibales
strPoste = "."
strNomEtat = "NB_REP"
StrImprimante = "PDF Writer"
'Memoriser l'imprimante par défault
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strPoste & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer Where Default = true")
For Each objPrinter In colInstalledPrinters
defaultprinter = objPrinter.Name
Next
'Ouverture de l'etat en mode caché
DoCmd.OpenReport strNomEtat, acViewPreview, , , acHidden
'Modife de l'imprimante par defaut
Set wsn = CreateObject("WScript.Network")
wsn.SetDefaultPrinter "Microsoft Office Document Image Writer"
'impression de l'etat
DoCmd.OpenReport strNomEtat, acViewNormal, , , acHidden
'Reactive l'imprimante default d'origine
wsn.SetDefaultPrinter defaultprinter
' fermer L 'état
DoCmd.Close acReport, strNomEtat, acSaveNo