OVH Cloud OVH Cloud

Imprimer un rapport depuis XL

12 réponses
Avatar
Jac
Bonjour à tous,

je suis à la recherche d'une procédure à mettre dans XL qui me permettrait
de lancer l'impression ou la prévisualisation d'un état Access depuis XL.

En fait le fichier XL est attaché au fichier Access, et après mise à jour
des données dans XL, j'aimerais pourvoir lancer l'impression sans sortir
d'Excel et si possible en refermant Access après impression afin que cette
procédure soit transparente pour les utilisateurs.

Est-ce possible ?

Merci d'avance à ceux qui pourraont me mettre sur la voie. S'il le faut,
j'irai exposer le problème sur le forum XL.

Jac

10 réponses

1 2
Avatar
Raymond [mvp]
Bonjour.

vouloir imprimer un état access à partir d'excel, état access étant réalisé
d'après une table attachée excel mise à jour sous excel, je comprend qu'il
vaut mieux que ce soit transparent pour l'utilisateur.
Il doit manquer un maillon dans la chaîne que tu n'indiques pas.
De toute façon il est possible d'imprimer n'importe quel état access par
excel en passant par l'automatisation excel-access, à, condition de
connaître un minimum de fonctions access.
à suivre.

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


"Jac" a écrit dans le message de news:
41c451e6$0$2217$
Bonjour à tous,

je suis à la recherche d'une procédure à mettre dans XL qui me permettrait
de lancer l'impression ou la prévisualisation d'un état Access depuis XL.

En fait le fichier XL est attaché au fichier Access, et après mise à jour
des données dans XL, j'aimerais pourvoir lancer l'impression sans sortir
d'Excel et si possible en refermant Access après impression afin que cette
procédure soit transparente pour les utilisateurs.

Est-ce possible ?

Merci d'avance à ceux qui pourraont me mettre sur la voie. S'il le faut,
j'irai exposer le problème sur le forum XL.

Jac



Avatar
Jac
Salut Raymond,

1/ les données sont dans XL - les mises à jour aussi
2/ XL est attaché dans Access
3/ un rapport s'appuie sur quelques requêtes et donne à l'impression
ce qu'on attend de lui (regroupements, cumuls et autres totaux et
sous-totaux, sous-états, ...)

Le deal est de lancer le rapport Access depuis XL (du genre "j'ai fini
la mise à jour du fichier et je veux imprimer le beau tableau mis au point
dans Access")

Le maillon qui me manque, c'est la façon d'expliquer à XL comment il
doit faire pour commander Access.


"Raymond [mvp]" a écrit dans le message de
news:
Bonjour.

vouloir imprimer un état access à partir d'excel, état access étant
réalisé d'après une table attachée excel mise à jour sous excel, je
comprend qu'il vaut mieux que ce soit transparent pour l'utilisateur.
Il doit manquer un maillon dans la chaîne que tu n'indiques pas.
De toute façon il est possible d'imprimer n'importe quel état access par
excel en passant par l'automatisation excel-access, à, condition de
connaître un minimum de fonctions access.
à suivre.

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


"Jac" a écrit dans le message de news:
41c451e6$0$2217$
Bonjour à tous,

je suis à la recherche d'une procédure à mettre dans XL qui me
permettrait de lancer l'impression ou la prévisualisation d'un état
Access depuis XL.

En fait le fichier XL est attaché au fichier Access, et après mise à jour
des données dans XL, j'aimerais pourvoir lancer l'impression sans sortir
d'Excel et si possible en refermant Access après impression afin que
cette procédure soit transparente pour les utilisateurs.

Est-ce possible ?

Merci d'avance à ceux qui pourraont me mettre sur la voie. S'il le faut,
j'irai exposer le problème sur le forum XL.

Jac







Avatar
Raymond [mvp]
il faut le faire par automation. je ne suis pas spécialiste excel, j'espère
que Pierre (CFI) va passer dans le coin pour débrouiller tout ça. Connais-tu
automation sous excel ? si oui, on va se débrouiller.

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


"Jac" a écrit dans le message de news:
41c69ce8$0$23372$
Salut Raymond,

1/ les données sont dans XL - les mises à jour aussi
2/ XL est attaché dans Access
3/ un rapport s'appuie sur quelques requêtes et donne à l'impression
ce qu'on attend de lui (regroupements, cumuls et autres totaux et
sous-totaux, sous-états, ...)

Le deal est de lancer le rapport Access depuis XL (du genre "j'ai fini
la mise à jour du fichier et je veux imprimer le beau tableau mis au point
dans Access")

Le maillon qui me manque, c'est la façon d'expliquer à XL comment il
doit faire pour commander Access.


"Raymond [mvp]" a écrit dans le message
de news:
Bonjour.

vouloir imprimer un état access à partir d'excel, état access étant
réalisé d'après une table attachée excel mise à jour sous excel, je
comprend qu'il vaut mieux que ce soit transparent pour l'utilisateur.
Il doit manquer un maillon dans la chaîne que tu n'indiques pas.
De toute façon il est possible d'imprimer n'importe quel état access par
excel en passant par l'automatisation excel-access, à, condition de
connaître un minimum de fonctions access.
à suivre.

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


"Jac" a écrit dans le message de news:
41c451e6$0$2217$
Bonjour à tous,

je suis à la recherche d'une procédure à mettre dans XL qui me
permettrait de lancer l'impression ou la prévisualisation d'un état
Access depuis XL.

En fait le fichier XL est attaché au fichier Access, et après mise à
jour des données dans XL, j'aimerais pourvoir lancer l'impression sans
sortir d'Excel et si possible en refermant Access après impression afin
que cette procédure soit transparente pour les utilisateurs.

Est-ce possible ?

Merci d'avance à ceux qui pourraont me mettre sur la voie. S'il le faut,
j'irai exposer le problème sur le forum XL.

Jac











Avatar
Jac
"Automation sous excel", c'est un domaine que je n'ai pas encore abordé...
mais je crois que l'occasion arrive à grands pas...

"Raymond [mvp]" a écrit dans le message de
news:
il faut le faire par automation. je ne suis pas spécialiste excel,
j'espère que Pierre (CFI) va passer dans le coin pour débrouiller tout ça.
Connais-tu automation sous excel ? si oui, on va se débrouiller.

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


"Jac" a écrit dans le message de news:
41c69ce8$0$23372$
Salut Raymond,

1/ les données sont dans XL - les mises à jour aussi
2/ XL est attaché dans Access
3/ un rapport s'appuie sur quelques requêtes et donne à l'impression
ce qu'on attend de lui (regroupements, cumuls et autres totaux et
sous-totaux, sous-états, ...)

Le deal est de lancer le rapport Access depuis XL (du genre "j'ai fini
la mise à jour du fichier et je veux imprimer le beau tableau mis au
point
dans Access")

Le maillon qui me manque, c'est la façon d'expliquer à XL comment il
doit faire pour commander Access.


"Raymond [mvp]" a écrit dans le message
de news:
Bonjour.

vouloir imprimer un état access à partir d'excel, état access étant
réalisé d'après une table attachée excel mise à jour sous excel, je
comprend qu'il vaut mieux que ce soit transparent pour l'utilisateur.
Il doit manquer un maillon dans la chaîne que tu n'indiques pas.
De toute façon il est possible d'imprimer n'importe quel état access par
excel en passant par l'automatisation excel-access, à, condition de
connaître un minimum de fonctions access.
à suivre.

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


"Jac" a écrit dans le message de news:
41c451e6$0$2217$
Bonjour à tous,

je suis à la recherche d'une procédure à mettre dans XL qui me
permettrait de lancer l'impression ou la prévisualisation d'un état
Access depuis XL.

En fait le fichier XL est attaché au fichier Access, et après mise à
jour des données dans XL, j'aimerais pourvoir lancer l'impression sans
sortir d'Excel et si possible en refermant Access après impression afin
que cette procédure soit transparente pour les utilisateurs.

Est-ce possible ?

Merci d'avance à ceux qui pourraont me mettre sur la voie. S'il le
faut, j'irai exposer le problème sur le forum XL.

Jac















Avatar
Jac
Ça y est... grâce à Patrick Morange, sur le forum XL, j'ai la solution
attendue.

Si quelqu'un le demande, je renverrai la solution.

Merci encore aux intervenants.

Jac
Avatar
Raymond [mvp]
Bonjour.

dans le but de placer la réponse dans nos archives , il serait bien que tu
indiques la solution maintenant. le prochain problème peut très bien ne pas
intervenir avant des mois et tu ne seras peut-être pas là pour répondre.
Merci.

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


"Jac" a écrit dans le message de news:
41c8bcb7$0$21939$
Ça y est... grâce à Patrick Morange, sur le forum XL, j'ai la solution
attendue.

Si quelqu'un le demande, je renverrai la solution.

Merci encore aux intervenants.

Jac



Avatar
Jac
Voici la solution selon Patrick Morange du forum XL avec quelques retouches.

'__________________________________________________________
Sub IMPRIME_RAPPORT_ACCESS_DEPUIS_XL()
'¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
' dans Outils / Références de la fenêtre VBA,
' il faut référencer "Microsoft Access x.0 Object Library"

' chemin de la base de données Access -------- (à adapter)
Dim LE_FICHIER_ACCESS_AVEC_SON_CHEMIN As String = "c:essai.mdb"

' nom du rapport à imprimer ------------------ (à adapter)
Dim LE_RAPPORT_A_IMPRIMER As String = "Nom du rapport"

Dim DB, CP As Object

' ouvre la base de données ------------------------------
Set DB = GetObject(LE_FICHIER_ACCESS_AVEC_SON_CHEMIN)
Set CP = DB.CurrentProject

' lancement de l'impression -----------------------------
DoCmd.OpenReport LE_RAPPORT_A_IMPRIMER, _
acViewNormal, "", "", acNormal

' fermeture d'Access ------------------------------------
DoCmd.Close

' nettoyage des variables -------------------------------
Set CP = Nothing:Set DB = Nothing

'__________________________________________________________
End Sub
'¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

Il est évident que l'on pourrait imprimer plusieurs rapports ou autres
objets Access à la suite.
On ne peut pas prévisualier car Access est invisible donc "ça" ne peut que
partir directement sur
l'imprimante par défaut ou probablement (car non testé) sur l'imprimante
définie dans le rapport.
Je pense que l'on pourrait, si nécessaire, définir l'imprimante cible dans
la macro XL.

En espèrant que cette solution pourra être utile et inspirer d'autres
utilisateurs...

Jac




"Jac" a écrit dans le message de news:
41c451e6$0$2217$

Bonjour à tous,

je suis à la recherche d'une procédure à mettre dans XL qui me permettrait
de lancer l'impression ou la prévisualisation d'un état Access depuis XL.

En fait le fichier XL est attaché au fichier Access, et après mise à jour
des données dans XL, j'aimerais pourvoir lancer l'impression sans sortir
d'Excel et si possible en refermant Access après impression afin que cette
procédure soit transparente pour les utilisateurs.

Est-ce possible ?

Merci d'avance à ceux qui pourraient me mettre sur la voie.

Jac


Avatar
Jac
Voici la solution selon Patrick Morange du forum XL avec quelques
retouches.

'__________________________________________________________
Sub IMPRIME_RAPPORT_ACCESS_DEPUIS_XL()
'¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
' dans Outils / Références de la fenêtre VBA,
' il faut référencer "Microsoft Access x.0 Object Library"

' chemin de la base de données Access -------- (à adapter)
Dim LE_FICHIER_ACCESS_AVEC_SON_CHEMIN As String = "c:essai.mdb"

' nom du rapport à imprimer ------------------ (à adapter)
Dim LE_RAPPORT_A_IMPRIMER As String = "Nom du rapport"

Dim DB, CP As Object

' ouvre la base de données ------------------------------
Set DB = GetObject(LE_FICHIER_ACCESS_AVEC_SON_CHEMIN)
Set CP = DB.CurrentProject

' lancement de l'impression -----------------------------
DoCmd.OpenReport LE_RAPPORT_A_IMPRIMER, _
acViewNormal, "", "", acNormal

' fermeture d'Access ------------------------------------
DoCmd.Close

' nettoyage des variables -------------------------------
Set CP = Nothing:Set DB = Nothing

'__________________________________________________________
End Sub
'¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

Il est évident que l'on pourrait imprimer plusieurs rapports
ou autres objets Access à la suite.
On ne peut pas prévisualier car Access est invisible donc
"ça" ne peut que partir directement sur l'imprimante par défaut
ou probablement (car non testé) sur l'imprimante définie
dans le rapport.
Je pense que l'on pourrait, si nécessaire, définir l'imprimante
cible dans la macro XL.

En espèrant que cette solution pourra être utile
et inspirer d'autres utilisateurs...

Jac



"Jac" a écrit dans le message de news:
41c451e6$0$2217$

Bonjour à tous,

je suis à la recherche d'une procédure à mettre dans XL qui me permettrait
de lancer l'impression ou la prévisualisation d'un état Access depuis XL.

En fait le fichier XL est attaché au fichier Access, et après mise à jour
des données dans XL, j'aimerais pourvoir lancer l'impression sans sortir
d'Excel et si possible en refermant Access après impression afin que cette
procédure soit transparente pour les utilisateurs.

Est-ce possible ?

Merci d'avance à ceux qui pourraient me mettre sur la voie.

Jac


Avatar
Jac
Voici la solution selon Patrick Morange du forum XL avec quelques
retouches.

'__________________________________________________________
Sub IMPRIME_RAPPORT_ACCESS_DEPUIS_XL()
'¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
' dans Outils / Références de la fenêtre VBA,
' il faut référencer "Microsoft Access x.0 Object Library"

' chemin de la base de données Access -------- (à adapter)
Dim LE_FICHIER_ACCESS_AVEC_SON_CHEMIN As String = "c:essai.mdb"

' nom du rapport à imprimer ------------------ (à adapter)
Dim LE_RAPPORT_A_IMPRIMER As String = "Nom du rapport"

Dim DB, CP As Object

' ouvre la base de données ------------------------------
Set DB = GetObject(LE_FICHIER_ACCESS_AVEC_SON_CHEMIN)
Set CP = DB.CurrentProject

' lancement de l'impression -----------------------------
DoCmd.OpenReport LE_RAPPORT_A_IMPRIMER, _
acViewNormal, "", "", acNormal

' fermeture d'Access ------------------------------------
DoCmd.Close

' nettoyage des variables -------------------------------
Set CP = Nothing:Set DB = Nothing

'__________________________________________________________
End Sub
'¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

Il est évident que l'on pourrait imprimer plusieurs rapports
ou autres objets Access à la suite.
On ne peut pas prévisualier car Access est invisible donc
"ça" ne peut que partir directement sur l'imprimante par défaut
ou probablement (car non testé) sur l'imprimante définie
dans le rapport.
Je pense que l'on pourrait, si nécessaire, définir l'imprimante
cible dans la macro XL.

En espèrant que cette solution pourra être utile
et inspirer d'autres utilisateurs...

Jac



"Jac" a écrit dans le message de news:
41c451e6$0$2217$

Bonjour à tous,

je suis à la recherche d'une procédure à mettre dans XL qui me permettrait
de lancer l'impression ou la prévisualisation d'un état Access depuis XL.

En fait le fichier XL est attaché au fichier Access, et après mise à jour
des données dans XL, j'aimerais pourvoir lancer l'impression sans sortir
d'Excel et si possible en refermant Access après impression afin que cette
procédure soit transparente pour les utilisateurs.

Est-ce possible ?

Merci d'avance à ceux qui pourraient me mettre sur la voie.

Jac


Avatar
Jac
Voici la solution selon Patrick Morange du forum XL avec quelques
retouches.

'__________________________________________________________
Sub IMPRIME_RAPPORT_ACCESS_DEPUIS_XL()
'¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
' dans Outils / Références de la fenêtre VBA,
' il faut référencer "Microsoft Access x.0 Object Library"

Dim DB, CP As Object
Dim LE_FICHIER_ACCESS_AVEC_SON_CHEMIN
Dim LE_RAPPORT_A_IMPRIMER As String

' chemin de la base de données Access -------- (à adapter)
LE_FICHIER_ACCESS_AVEC_SON_CHEMIN = "c:essai.mdb"

' nom du rapport à imprimer ------------------ (à adapter)
LE_RAPPORT_A_IMPRIMER = "Nom du rapport"


' ouvre la base de données ------------------------------
Set DB = GetObject(LE_FICHIER_ACCESS_AVEC_SON_CHEMIN)
Set CP = DB.CurrentProject

' lancement de l'impression -----------------------------
DoCmd.OpenReport LE_RAPPORT_A_IMPRIMER, acViewNormal, "", "", acNormal

' fermeture d'Access ------------------------------------
DoCmd.Close

' nettoyage des variables -------------------------------
Set CP = Nothing: Set DB = Nothing

'Il est évident que l'on pourrait imprimer plusieurs rapports
'ou autres objets Access à la suite.

'On ne peut pas prévisualier car Access est invisible donc "ça" ne peut que
partir
'directement sur l'imprimante par défaut ou probablement (car non testé) sur
l'imprimante
'définie dans le rapport.

'On pourrait, si nécessaire, définir l'imprimante cible dans la macro.

'__________________________________________________________
End Sub
'¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯


En espèrant que cette solution pourra être utile
et inspirer d'autres utilisateurs...

Jac



"Jac" a écrit dans le message de news:
41c451e6$0$2217$

Bonjour à tous,

je suis à la recherche d'une procédure à mettre dans XL qui me permettrait
de lancer l'impression ou la prévisualisation d'un état Access depuis XL.

En fait le fichier XL est attaché au fichier Access, et après mise à jour
des données dans XL, j'aimerais pourvoir lancer l'impression sans sortir
d'Excel et si possible en refermant Access après impression afin que cette
procédure soit transparente pour les utilisateurs.

Est-ce possible ?

Merci d'avance à ceux qui pourraient me mettre sur la voie.

Jac


1 2