OVH Cloud OVH Cloud

Automatiser l'export d'un état

4 réponses
Avatar
Patrick Even
Bonjour,

J'aimerais savoir comment écrire une séquence de code VBA pour :
- ouvrir un état en aperçu avant impression,
- l'imprimer,
- l'exporter dans un répertoire donné et avec un nouveau nom :
- au format .snp,
- au format .doc,
- au format .xls.
- refermer l'état.

Merci d'avance pour vos propositions.

Cordialement,
Patrick EVEN

4 réponses

Avatar
Raymond
Bonsoir.

On visualise ou on imprime direct jamais les deux à la fois.

pour imprimer
DoCmd.OpenReport "état1", acViewNormal
pour visualiser
DoCmd.OpenReport "état1", acViewPreview

pour exporter:
DoCmd.OutputTo acOutputReport, "état1", acFormatSNP, "c:état1.snp", True
formats possibles:
acFormatASP
acFormatDAP
acFormatHTML
acFormatIIS
acFormatRTF
acFormatSNP
acFormatTXT
acFormatXLS


--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Patrick Even" a écrit dans le message de
news:
Bonjour,

J'aimerais savoir comment écrire une séquence de code VBA pour :
- ouvrir un état en aperçu avant impression,
- l'imprimer,
- l'exporter dans un répertoire donné et avec un nouveau nom :
- au format .snp,
- au format .doc,
- au format .xls.
- refermer l'état.

Merci d'avance pour vos propositions.

Cordialement,
Patrick EVEN




Avatar
Patrick Even
Merci Raymond,

C'est tout à fait ce dont j'avais besoin.
J'aimerais toutefois savoir si on peut optimiser les performances.
Les états que je dois élaborer nécessitent plusieurs minutes de calcul
compte tenu du volume d'information à traiter.
En mode manuel, je procède ainsi :
- Affichage de l'aperçu avant impression
- Impression
- Export en .snp
- Export en .rtf
- Export en .xls
- Fermeture de l'aperçu.

En VBA, j'ai codé :
DoCmd.OpenReport "état1", acViewNormal
DoCmd.OutputTo acOutputReport, "état1", acFormatSNP, "c:état1.snp"
DoCmd.OutputTo acOutputReport, "état1", acFormatRTF, "c:état1.rtf"
DoCmd.OutputTo acOutputReport, "état1", acFormatXLS, "c:état1.xls"

En mode manuel, j'ai une seule fois le temps d'élaboration de l'état pour
l'aperçu.
En VBA, je l'ai 4 fois.

Existe t'il un moyen d'optimiser cela ?

Cordialement,
Patrick EVEN

"Raymond" a écrit dans le message news:

Bonsoir.

On visualise ou on imprime direct jamais les deux à la fois.

pour imprimer
DoCmd.OpenReport "état1", acViewNormal
pour visualiser
DoCmd.OpenReport "état1", acViewPreview

pour exporter:
DoCmd.OutputTo acOutputReport, "état1", acFormatSNP, "c:état1.snp", True
formats possibles:
acFormatASP
acFormatDAP
acFormatHTML
acFormatIIS
acFormatRTF
acFormatSNP
acFormatTXT
acFormatXLS


--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Patrick Even" a écrit dans le message de
news:
Bonjour,

J'aimerais savoir comment écrire une séquence de code VBA pour :
- ouvrir un état en aperçu avant impression,
- l'imprimer,
- l'exporter dans un répertoire donné et avec un nouveau nom :
- au format .snp,
- au format .doc,
- au format .xls.
- refermer l'état.

Merci d'avance pour vos propositions.

Cordialement,
Patrick EVEN







Avatar
Raymond
Bonjour.

tu peux déjà éviter le preview en affichant directement le snapshot.
DoCmd.OutputTo acOutputReport, "état1", acFormatSNP, "c:état1.snp",
True

ce que tu peux faire aussi en partant du preview normal, c'est de lancer des
sendkeys à partir du formulaire de lancement, pour exporter l'état sous xls
et rtf.

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Patrick Even" a écrit dans le message de
news:%
Merci Raymond,

C'est tout à fait ce dont j'avais besoin.
J'aimerais toutefois savoir si on peut optimiser les performances.
Les états que je dois élaborer nécessitent plusieurs minutes de calcul
compte tenu du volume d'information à traiter.
En mode manuel, je procède ainsi :
- Affichage de l'aperçu avant impression
- Impression
- Export en .snp
- Export en .rtf
- Export en .xls
- Fermeture de l'aperçu.

En VBA, j'ai codé :
DoCmd.OpenReport "état1", acViewNormal
DoCmd.OutputTo acOutputReport, "état1", acFormatSNP, "c:état1.snp"
DoCmd.OutputTo acOutputReport, "état1", acFormatRTF, "c:état1.rtf"
DoCmd.OutputTo acOutputReport, "état1", acFormatXLS, "c:état1.xls"

En mode manuel, j'ai une seule fois le temps d'élaboration de l'état pour
l'aperçu.
En VBA, je l'ai 4 fois.

Existe t'il un moyen d'optimiser cela ?


Avatar
Patrick Even
Merci Raymond,

Je vais essayer avec les Sendkeys.

Cordialement,
Patrick EVEN

"Raymond" a écrit dans le message news:

Bonjour.

tu peux déjà éviter le preview en affichant directement le snapshot.
DoCmd.OutputTo acOutputReport, "état1", acFormatSNP, "c:état1.snp",
True

ce que tu peux faire aussi en partant du preview normal, c'est de lancer
des

sendkeys à partir du formulaire de lancement, pour exporter l'état sous
xls

et rtf.

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Patrick Even" a écrit dans le message de
news:%
Merci Raymond,

C'est tout à fait ce dont j'avais besoin.
J'aimerais toutefois savoir si on peut optimiser les performances.
Les états que je dois élaborer nécessitent plusieurs minutes de calcul
compte tenu du volume d'information à traiter.
En mode manuel, je procède ainsi :
- Affichage de l'aperçu avant impression
- Impression
- Export en .snp
- Export en .rtf
- Export en .xls
- Fermeture de l'aperçu.

En VBA, j'ai codé :
DoCmd.OpenReport "état1", acViewNormal
DoCmd.OutputTo acOutputReport, "état1", acFormatSNP, "c:état1.snp"
DoCmd.OutputTo acOutputReport, "état1", acFormatRTF, "c:état1.rtf"
DoCmd.OutputTo acOutputReport, "état1", acFormatXLS, "c:état1.xls"

En mode manuel, j'ai une seule fois le temps d'élaboration de l'état
pour


l'aperçu.
En VBA, je l'ai 4 fois.

Existe t'il un moyen d'optimiser cela ?