Alors j'ai essayé de retrouver la façon de générer un PDF via le Writer. Je ne me trompais pas, ça marche, mais il faut spécifier une chaîne du genre "AcrobatPDFWriter sur LPT1:". L'ennui, c'est que tout le monde n'est pas sur LPT1 !
On pourrait retrouver ces infos en bidouillant un peu, mais j'ai préféré aller au plus simple en regardant ce que je pouvais faire avec la macro complémentaire AcrobatPDFWriter.xla (d'Acrobat 5).
Il suffit de mettre une référence à ce fichier dans notre programme pour avoir accès à ses macros. Seules quelques procédures nous y intéressent, mais ce n'est pas pour autant que les autres sont inutiles elles font un gros boulot en arrière-plan, c'est pourquoi il me semble plus sûr (et bien plus simple !) d'en passer par là plutôt que de faire un simple appel au Distiller.
Au fait, j'ai regardé, il y a bien génération d'un .ps, qui est supprimé ensuite, donc laissons faire...
Pour générer le PDF et lui donner un nom, je reprends le nom du classeur actif et je force la validation par un simple SendKeys. Il aurait été possible de le faire plus "élégamment" en modifiant très légèrement AcrobatPDFMaker.xla, mais outre qu'on n'est pas censé accéder à ces macros, cette façon de faire pourrait poser problème, si on voulait l'exporter dans un autre environnement que sa propre machine.
ATTENTION, comme je le signale dans le programme, si vous testez le testez sur lui-même, il vous plantera bel et bien Excel (je ne sais pas pourquoi, il doit y avoir des problèmes avec les nombreuses variables publiques déclarées depuis AcrobatPDFWriter.xla) donc testez-le depuis un autre fichier actif ! Et pour l'utiliser en toute sûreté, il vaudrait mieux le transformer lui-même en xla.
Dernière précision : ça tourne avec Acrobat 5 ! Je n'ai pas Acrobat 6, donc je ne sais pas ce qu'il en est avec cette nouvelle version.