Le grenier Access

Aller au contenu | Aller au menu | Aller à la recherche

dimanche 16 mai 2010

Automatiser l'impression d'un classeur Excel en PDF via PDFCreator

Suite à l'article Automatiser l'impression d'un état en PDF via PDFCreator, un lecteur du blog m'a demandé si c'était possible de faire la même chose pour Excel uniquement. Il faut juste quelques petits aménagements pour transformer le code Access en un code Excel. Voici donc, pour une fois, un article qui s'applique uniquement à Excel...

Lire la suite...

lundi 13 octobre 2008

Imprimer sélectivement en PDF sous Access 2007

L'impression en PDF fait couler beaucoup d'encre (numérique, heureusement, ça ne pollue pas :-)) sur ce blog. Voir notamment les autres articles consacrés à ce thème. Une question revient souvent : comment, sur Access 2007, choisir les pages à imprimer avant la conversion en PDF ?

Lire la suite...

mercredi 7 mai 2008

Automatiser l'impression d'un état en PDF sous Access 2007

On continue la série "Access et le format PDF" ! Dans un précédent article, il a été question d'automatiser en VBA, sous Access 2003 maximum, et à l'aide de PDFCreator. Mais comment fait-on avec Access 2007 ?

Access 2007 et les PDF

A priori, le code donné dans l'article précédent doit fonctionner également sous Access 2007. Mais le pack Office 2007 comporte également une impression PDF (voir cet autre article du blog). Autant l'utiliser directement, ça fera moins de code à écrire !

Voici comment transformer un état en PDF sous Access 2007 (à supposer que l'extension PDF ait été installée) :

Sub TestPDF2007()
  DoCmd.OutputTo acOutputReport, "rpt Clients", _
    acFormatPDF, Environ("USERPROFILE") & "\Documents\Liste des clients.pdf"
End Sub

Quelques infos complémentaires :

  • Le nom de l'état, dans l'exemple, est rpt Clients.
  • Le format PDF est défini par la constante acFormatPDF.
  • Le dernier paramètre de l'exemple est le chemin complet du fichier PDF à générer. Ici, un fichier Liste des clients.pdf va être créé, et il sera placé dans le dossier Documents de l'utilisateur en cours (ce dossier est donné par \Documents\ sous Vista, et \Mes documents\ sur un XP français). On pourrait améliorer ça, mais le but n'est pas de charger le code ici ;-)
  • Si vous ajoutez un 4ème paramètre avec la valeur True, le fichier PDF s'ouvre automatiquement dans Acrobat Reader, après avoir été généré.

Automatiser l'impression d'un état en PDF via PDFCreator

Dans l'article Imprimer en PDF avec PDFCreator, vous avez pu voir comment, manuellement, transformer un état Access en document PDF. Et si maintenant on automatisait la procédure à l'aide de Visual Basic ?

Lire la suite...

jeudi 1 novembre 2007

Imprimer en PDF avec PDFCreator

Je voudrais transmettre un état Access à quelqu'un d'autre (par e-mail, notamment). Quel est la meilleure solution ?

Transmettre un état : le problème

Un état peut avoir une mise en forme un peu complexe : polices, couleurs, encadrements, images... Lorsque vous l'imprimez directement, il n'y a pas de problème particulier. Mais si vous l'exportez dans d'autres formats (RTF par exemple), vous risquez de perdre une (bonne ?) partie de la mise en page. Il y a plusieurs parades possibles :

  • Transmettre votre état au format Snapshot (extension .snp).
    Avantage : la solution est intégrée à Access, depuis déjà plusieurs versions.
    Inconvénient : votre interlocuteur doit installer un logiciel spécifique (la "visionneuse" Snapshot Viewer) pour consulter les fichiers .snp. Cette visionneuse est gratuite, mais il faut quand même la télécharger, l'installer, etc. Par ailleurs, Snapshot Viewer ne fonctionne que sous Windows.
  • Transmettre votre état au format PDF (extension .pdf).
    Avantage : tout le monde dispose sur sa machine de la visionneuse Acrobat Reader.
    Inconvénient : l'impression en PDF n'est pas intégrée à Access, ni à Office, d'une manière générale. Sauf...

Imprimer PDF sous Office 2007

Si vous utilisez Office 2007, l'impression PDF est enfin disponible sur cette version. Vous pouvez donc oublier la suite de cet article ; allez plutôt lire cette page.

Imprimer PDF sous Office 2003 et inférieur

Le principe général consiste à installer une imprimante PDF sur votre ordinateur. Il existe des solutions payantes comme Adobe Acrobat, AvantQuest eXpert PDF... et aussi des solutions gratuites comme Ghostscript ou PDFCreator. J'ai écrit il y a quelque temps un article sur l'installation et le paramétrage de Ghostscript. Depuis, PDFCreator est apparu, et il simplifie énormément l'utilisation de Ghostscript (qui est utilisé "en arrière-plan"). On va donc utiliser PDFCreator ici :
  1. Téléchargez PDFCreator (sans espace) à cette adresse http://sourceforge.net/projects/pdfcreator/
    Je rappelle que le logiciel est gratuit.
  2. Installez le logiciel sur votre machine.
    L'opération ajoute une imprimante virtuelle à votre ordinateur. Au lieu d'imprimer "physiquement sur papier", cette imprimante transforme les ordres d'impression en commandes PDF. Le résultat n'est plus une page papier, mais un document PDF.
  3. Vous pouvez ensuite imprimer dans Access (ou dans n'importe quel logiciel) par la commande classique Fichier / Imprimer.
    Consultez le screencast de ce billet pour une démo.
Info
PDFCreator peut également être programmé, en VBA notamment. Ca veut dire qu'on peut automatiser l'impression d'un état en PDF à partir d'Access. Un autre article bientôt ?

mercredi 5 septembre 2007

Access 2007 et les fichiers PDF

Peut-on exporter un état Access au format PDF (Acrobat Reader) ?

Oui ! Le pack Office 2007 prend enfin en charge le format PDF. Vous pouvez donc transformer en PDF vos documents Word, Excel, et surtout Access en ce qui nous concerne.

C'est l'un des points intéressants de ce nouveau pack : vous pouvez désormais transférer un état Access à quelqu'un d'autre, sans perdre la mise en forme.

Note
Si vous utilisez une version antérieure d'Access, consultez cet autre article du grenier.

Installer le complément XPS/PDF

En fait, la prise en charge du format PDF n'est pas installée par défaut avec le pack Office. Il faut donc commencer par installer un complément logiciel avant toute chose (l'opération n'est à faire qu'une seule fois, et le complément sera disponible pour le reste du pack Office, heureusement !).

La première solution consiste à démarrer Access, à cliquer sur le bouton Office (le logo Office rond, en haut à gauche de l'écran), puis à choisir Imprimer. Vous trouverez une option pour installer le complément.

Sinon :

  1. Connectez-vous au Centre de téléchargement Microsoft.
  2. Effectuez une recherche sur les mots-clés pdf office 2007.
    Vous accédez à la page du "Complément Microsoft Office 2007 - Enregistrement en XPS ou PDF".
  3. Vous devrez probablement passer par une étape d'installation d'un ActiveX nommé "Office Genuine Advantage" sur votre machine, dont le rôle est de vérifier l'authenticité de votre équipement.
  4. Dans la boîte qui se présente ensuite, cliquez sur le bouton Enregistrer. Faites en sorte que le fichier à télécharger soit placé dans votre dossier Documents.
  5. Quittez tous les logiciels en cours d'exécution, et double-cliquez sur le fichier téléchargé précédemment (SaveAsPDFAndXPS.exe). Suivez les étapes d'installation.
Autre méthode
Vous pouvez également démarrer Access, cliquer sur le bouton Office, puis sur Enregistrer sous / Rechercher des compléments pour d'autres formats de fichiers. L'ensemble de la procédure est sensiblement identique...

Imprimer en PDF

A partir de maintenant, vous pouvez imprimer n'importe quoi (dont les états Access) en PDF.
  • Une option de menu est disponible dans le bouton Office / Publier.
  • D'autre part,Une icône PDF ou XPS s'affiche sur le ruban, lorsque le contexte le permet (lorsque vous avez ouvert un état, notamment).

Attention
Pour ceux qui auraient lu trop vite : je rappelle que la procédure s'applique à Office 2007 uniquement. Ce n'est donc pas la solution pour imprimer en PDF dans les versions 2003 et précédentes !