Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/01/2011, 17h08   #1
Invité de passage
 
Pascal Deville
Inscription : octobre 2010
Messages : 13
Détails du profil
Informations personnelles :
Nom : Pascal Deville

Informations forums :
Inscription : octobre 2010
Messages : 13
Points : 0
Points : 0
Par défaut Export graphique vers Excel

Bonjour à tous,

Je me cogne la tête depuis ce matin sur un petit problème.
J'ai un formulaire dans lequel j'ai construit un graphique.
Je souhaite exporter ce graphique vers une feuille excel.
En VBA je suis pas un pro ! Pour le moment j'ai bien réussi à exporter mon formulaire mais la feuille Excel est vide

Je compte bien sur vous pour m'aider !

Merci à tous.
M
sweetmercy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/01/2011, 15h13   #2
Rédacteur/Modérateur

 
Avatar de argyronet
 
Homme Jean-Philippe AMBROSINO
Panseur de bobos en solutions ETL
Inscription : mai 2004
Messages : 3 650
Détails du profil
Informations personnelles :
Nom : Homme Jean-Philippe AMBROSINO
Localisation : France

Informations professionnelles :
Activité : Panseur de bobos en solutions ETL
Secteur : Finance

Informations forums :
Inscription : mai 2004
Messages : 3 650
Points : 6 210
Points : 6 210
Envoyer un message via MSN à argyronet
Bonjour,

Selon moi, u ne pourras exporter ton graphique qu'en mode image si tu n'exportes pas les données avec et je ne pense pas que c'est ce que tu cherches...

Si tu en disais un peu plus sur ce que tu veux faire, on pourras très certainement t'aider.

Argy
__________________
Ils comptent sur vous...

Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

Web Site@Mail
Livres : VBA pour OFFICE 2007 et MICROSOFT ACCESS 2007
Nouveau Tutoriel : Déployer vos applications avec Microsoft Access 2010
MDB Viewer : Visionneuse Access v4.0
argyronet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2011, 17h21   #3
Invité de passage
 
Pascal Deville
Inscription : octobre 2010
Messages : 13
Détails du profil
Informations personnelles :
Nom : Pascal Deville

Informations forums :
Inscription : octobre 2010
Messages : 13
Points : 0
Points : 0
Bonjour et merci pour ce début de réponse.

Le but est d'avoir une lecture rapide d'un indicateur.
Donc le format image me suffirait.
Il me faut donc ouvrir le formulaire, et copier l'objet pour le coller ensuite dans le fichier excel de destination.... surement simple que on maitrise VBA, ce qui n'est pas mon cas !

Merci !
sweetmercy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 10h25   #4
Rédacteur/Modérateur

 
Avatar de argyronet
 
Homme Jean-Philippe AMBROSINO
Panseur de bobos en solutions ETL
Inscription : mai 2004
Messages : 3 650
Détails du profil
Informations personnelles :
Nom : Homme Jean-Philippe AMBROSINO
Localisation : France

Informations professionnelles :
Activité : Panseur de bobos en solutions ETL
Secteur : Finance

Informations forums :
Inscription : mai 2004
Messages : 3 650
Points : 6 210
Points : 6 210
Envoyer un message via MSN à argyronet
Ok, mais alors pourquoi passer par Excel ?
Tu seras dans ce cas obligé d'user de VBA et pas avec un niveau débutant.

Sans être un ponte en programmation, je pense que tu dois pouvoir arriver à tes fins avec ce tuto que j'ai écris pour la circonstance.

Argy
__________________
Ils comptent sur vous...

Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

Web Site@Mail
Livres : VBA pour OFFICE 2007 et MICROSOFT ACCESS 2007
Nouveau Tutoriel : Déployer vos applications avec Microsoft Access 2010
MDB Viewer : Visionneuse Access v4.0
argyronet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 15h16   #5
Invité de passage
 
Pascal Deville
Inscription : octobre 2010
Messages : 13
Détails du profil
Informations personnelles :
Nom : Pascal Deville

Informations forums :
Inscription : octobre 2010
Messages : 13
Points : 0
Points : 0
En fait le fichier excel est déjà défini. Il contient déjà plusieurs indicateurs dans plusieurs feuilles qui sont gérées par d'autres personnes dans notre entreprise.
(extractions automatiques d'un ERP)
Le graphique que je tient à exporter d'access irait dans une des feuilles de ce fichier. Mes données sont dans une base Access et je tiens à automatiser la mise en forme afin de coller mes graphiques chaque semaine dans ce fichier excel.
Voila voila...
sweetmercy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2011, 08h54   #6
Rédacteur/Modérateur

 
Avatar de argyronet
 
Homme Jean-Philippe AMBROSINO
Panseur de bobos en solutions ETL
Inscription : mai 2004
Messages : 3 650
Détails du profil
Informations personnelles :
Nom : Homme Jean-Philippe AMBROSINO
Localisation : France

Informations professionnelles :
Activité : Panseur de bobos en solutions ETL
Secteur : Finance

Informations forums :
Inscription : mai 2004
Messages : 3 650
Points : 6 210
Points : 6 210
Envoyer un message via MSN à argyronet
Bien voici un simple bout de code sans sophistication qui fonctionne :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub CommandCopy_Click()
Dim oXL                                                As Excel.Application
    Me.MyGraph.SetFocus
    DoCmd.RunCommand acCmdCopy
    Set oXL = New Excel.Application
    With oXL
        .Visible = True
        .Workbooks.Add 'Tu peux faire un open avec le nom de ton classeur
        .Worksheets(1).Select
        .Cells(5, 5).Select
        .ActiveSheet.Paste
    End With
End Sub
Mais je n'apprécie guère cette méthode dans le sens où l'instanciation est propriétaire à la session Access et l'objet Excel ne peut être nettoyé de la mémoire du fait qu'il est exploité via OLE.
Bref, ça fonctionne et tu peux t'en contenter.

Pour faire plus pro, il aurait fallut user du Clipboard et ouvrir Excel et ton classeur via un Shell().

Argy
__________________
Ils comptent sur vous...

Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

Web Site@Mail
Livres : VBA pour OFFICE 2007 et MICROSOFT ACCESS 2007
Nouveau Tutoriel : Déployer vos applications avec Microsoft Access 2010
MDB Viewer : Visionneuse Access v4.0
argyronet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2011, 10h27   #7
Invité de passage
 
Pascal Deville
Inscription : octobre 2010
Messages : 13
Détails du profil
Informations personnelles :
Nom : Pascal Deville

Informations forums :
Inscription : octobre 2010
Messages : 13
Points : 0
Points : 0
Ahh... super, merci.
Je pense avoir compris l'essentiel de la méthode.
Je teste ça aujourd'hui.
sweetmercy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2011, 10h38   #8
Invité de passage
 
Pascal Deville
Inscription : octobre 2010
Messages : 13
Détails du profil
Informations personnelles :
Nom : Pascal Deville

Informations forums :
Inscription : octobre 2010
Messages : 13
Points : 0
Points : 0
Bon,

Tout ça a fini par me donner de l'inspiration...

Ok, c'est du bricolage mais ça fonctionne :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Sub CopieGraphique()
 
'Définition des constantes
NOMFICH = "TEST1.xls"
CHEMINRESULT = "C:\TEST\"
 
' Ouverture du Formulaire et copie du graphique qu'il contient
DoCmd.OpenForm "GRAPHIQUE1", acNormal
DoCmd.RunCommand acCmdCopy
DoCmd.Close
 
 
'Ouverture du fichier excel et copie du graphique
Dim xlApp As Object
 
    Set xlApp = CreateObject("Excel.Application")
    xlApp.Visible = True
    xlApp.workbooks.Open (CHEMINRESULT & NOMFICH & "")
    xlApp.Sheets("FEUIL3").select
    xlApp.ActiveSheet.Paste
 
End Sub
sweetmercy est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h05.


 
 
 
 
Partenaires

Hébergement Web