OVH Cloud OVH Cloud

Format de page par vba

4 réponses
Avatar
Jac
Bonjour à tous,

je cherche à changer le format de page de mes rapports de facon automatique,
mais je n`arrive pas à trouver la syntaxe vba correspondante.

En fait je voudrai pouvoir imprimer sur du papier letter, legal ou A4 selon
une variable qui serait dans une table ou dans un formulaire et faire en
sorte que tous les rapports envoyés à l`impression s`adaptent au format
indiqué.

Merci d`avance à qui me mettra sur la voie.

Jac

4 réponses

Avatar
Raymond [mvp]
Bonjour.

Il faut utiliser la propriété printer et les objets printer/printers si tu
as en version 2002. pour les autres versions il faut passer en mode design
avant d'exécuter l'état en mode normal.
tu trouveras des idées mais pas forcément la solution sur :
http://access.vba.free.fr/imprimantes.htm
http://access.seneque.free.fr/etats.htm

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Jac" a écrit dans le message de
news:v_rVc.26845$
Bonjour à tous,

je cherche à changer le format de page de mes rapports de facon
automatique,

mais je n`arrive pas à trouver la syntaxe vba correspondante.

En fait je voudrai pouvoir imprimer sur du papier letter, legal ou A4
selon

une variable qui serait dans une table ou dans un formulaire et faire en
sorte que tous les rapports envoyés à l`impression s`adaptent au format
indiqué.

Merci d`avance à qui me mettra sur la voie.

Jac




Avatar
Jac
Bonjour Raymond (et les autres...),
merci pour tes bons conseils,

j'arrive à chercher le format dans un formulaire que j'ouvre puis referme.
J'aurais préféré récupérer la valeur directement dans la table qui ne
contient qu'un seul enregistrement, mais je n'ai pas trouvé comment faire.

Avec une condition, je calcule PSIZE = 1 (letter), PSIZE = 5 (legal) ou
PSIZE = 9 (A4).
Mais je ne sais pas comment appliquer cette variable.
J'ouvre un rapport avec
DoCmd.OpenReport "LISTING", acViewPreview, "", "", , acNormal

Puis j'ai essayé les différentes façons d'écrire autour de
PaperSize.PrtDevMode
[Report].[LISTING].PaperSize.PrtDevMode = PSIZE
ActiveReport.PaperSize.PrtDevMode = PSIZE
Me.PaperSize.PrtDevMode = PSIZE
mais pas moyen d'appliquer le format, le chef VBA n'aime pas ma syntaxe...

Merci d'avance de me mettre sur la voie.

Jac


Bonjour.

Il faut utiliser la propriété printer et les objets printer/printers si tu
as en version 2002. pour les autres versions il faut passer en mode design
avant d'exécuter l'état en mode normal.

"Jac" a écrit dans le message de

Bonjour à tous,

je cherche à changer le format de page de mes rapports de facon
automatique,

mais je n`arrive pas à trouver la syntaxe vba correspondante.

En fait je voudrai pouvoir imprimer sur du papier letter, legal ou A4
selon

une variable qui serait dans une table ou dans un formulaire et faire en
sorte que tous les rapports envoyés à l`impression s`adaptent au format
indiqué.

Merci d`avance à qui me mettra sur la voie.

Jac








Avatar
Raymond [mvp]
Bonsoir.

Il faut connaître la version access.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Jac" a écrit dans le message de
news:yi6Wc.16506$
Bonjour Raymond (et les autres...),
merci pour tes bons conseils,


Avatar
Raymond [mvp]
Tu peux télécharger une base de demo dans laquelle tu trouveras l'exemple
pour le papier.
http://msdn.microsoft.com/office/understanding/access/codesamples/default.aspx?pull=/library/en-us/dnacc2k2/html/odc_acc10_printers.asp

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum