IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Problème avec "Programmez MS Graph" de loufab [AC-2010]


Sujet :

Access

  1. #1
    Membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2019
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2019
    Messages : 125
    Points : 43
    Points
    43
    Par défaut Problème avec "Programmez MS Graph" de loufab
    Bonjour aux développeurs de tout poil,

    Je me suis attelé à la programmation de MS Graph à l'aide du tuto de loufab.
    Tout allais pour le mieux dans le meilleur des mondes, jusqu'au moment où il faut rajouter la référence "Microsoft Office xx.x Object Library", ce que j'ai fait :

    Nom : Références.jpg
Affichages : 166
Taille : 58,3 Ko

    L'application ne donne aucun message d'erreur, mais toute la partie qui fait appel à cette référence, n'agit absolument pas...

    La machine tourne sous Windows7 édition intégrale/SP1 avec Office 2010 Pro Plus et j'utilise la base de données Northwind 2007.

    Quelqu'un peut-il me dire ce qui manque pour faire fonctionner le code proposé par loufab ?

    D'avance merci, et désolé si j'ai fait une gaffe ,

    Gaston

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 058
    Points : 24 661
    Points
    24 661
    Par défaut
    Bonjour,

    L'introduction de la référence Office permet d'accéder à des constantes.

    L'application ne donne aucun message d'erreur, mais toute la partie qui fait appel à cette référence, n'agit absolument pas...
    C'est très (trop) vague pour émettre un avis.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2019
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2019
    Messages : 125
    Points : 43
    Points
    43
    Par défaut
    Bonjour Fabrice,

    Merci pour ta réaction, mais entretemps j'ai refait tout le parcours de ton tutoriel, et j'ai constaté que j'avais omis d'appeler certaines procédures à partir du formulaire (ce n'était plus précisé depuis le chapitre IV).

    À présent tout fonctionne correctement, mais il faut avouer qu'il est assez laborieux de créer des graphiques avec Access. D'autant plus que je ne cherche qu'à créer des graphiques très simples du style; nombre d'enregistrements (compte) avec telle valeur dans telle champ, avec en abscisse la valeur du champ et en ordonnée le nombre correspondant.

    Grâce à ton tutoriel j'ai pu progresser avec MS Graph, et j'espère parvenir à un résultat satisfaisant.

    Bonne journée,

    Gaston

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 058
    Points : 24 661
    Points
    24 661
    Par défaut
    Alors attention, le tuto présente la manière de faire par programmation et manipulable par un utilisateur lambda.

    Pour faire des graphique statique dans leur présentation mais dynamique dans les sources de données, il n'y a pas besoin de le faire par programmation.

    L'interface (austère) de graph le permet.

    Sinon il y a une autre méthode, c'est envoyer les données sur Excel pour bénéficier de l'interface de Graph dans Excel qui est franchement plus aboutie.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  5. #5
    Membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2019
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2019
    Messages : 125
    Points : 43
    Points
    43
    Par défaut
    Bonjour Loufab,

    Effectivement, j'avais envisagé de faire le lien avec Excel, mais est-il possible de créer un lien dynamique et pas simplement une exportation?
    Je veux dire qu'en cliquant sur un bouton on lance Excel pour afficher un graphique en lien direct avec les données actuels d'Access.

    Gaston

  6. #6
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 058
    Points : 24 661
    Points
    24 661
    Par défaut
    Tout est possible.

    Tu crées un lien vers une requête Access qui contient tes données puis tu lance excel via Access.

    Voir sur le forum Excel pour les modalités Excel.

    Pour lancer Excel depuis Access tu as ça dans la Faq.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  7. #7
    Membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2019
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2019
    Messages : 125
    Points : 43
    Points
    43
    Par défaut
    Merci Loufab pour les pistes à suivre,

    En regardant un peu sur la toile, je m'aperçois que c'est principalement à partir d'Excel que l'on crée un lien vers Access et pas l'inverse.

    Je vais regarder tout ça et je te dirais l'option que j'ai choisi.

    Bonne soirée,

    Gaston

  8. #8
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 058
    Points : 24 661
    Points
    24 661
    Par défaut
    Il y a 2 méthodes, la plus utilisé c'est effectivement faire un lien depuis excel vers une requête access.
    Sinon la 2ème est d'ouvrir le fichier Excel depuis Access et de copier les données de requête dans une feuille, soit ligne à ligne (ça peut être lent) soit directement avec la méthode Range.copyFromRecordset.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  9. #9
    Membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2019
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2019
    Messages : 125
    Points : 43
    Points
    43
    Par défaut
    Bonjour,

    Après avoir fait quelques recherches et tests, je me suis décidé pour la méthode qui consiste à ouvrir le fichier Excel depuis Access et de copier les données de ma requête dans une feuille, avec la méthode "Range.copyFromRecordset". Ensuite j'ai mis le code nécessaire à générer un graphique sur base de ces données. Ça marche plutôt bien, mais il reste quelques petits problèmes ou manquements.

    Voilà ce que je veux obtenir sur clic d'un bouton dans mon formulaire Access :

    Exporter les données de ma requête nécessaire à la génération du graphique
    Insertion d'un graphique "Histogramme 3D groupé"
    Ajouter le titre du graphique superposé centré (spécifié police, taille et épaisseur)
    Ajouter le titre de l'axe horizontal (spécifié police, taille et épaisseur)
    Ajouter le titre de l'axe vertical pivoté (spécifié police, taille et épaisseur)
    Aucune légende
    Aucun quadrillage
    Activer les étiquettes des valeurs au-dessus des barres
    Déplacer le graphique dans une nouvelle feuille "Graphique"
    Affichage "Plein écran"
    Masquer les feuilles "Feuil1", "Feuil2" et "Feuil3" créé automatiquement par Excel
    Quitter Excel sans confirmation de sauvegarde. Le fichier ne doit pas être sauvegardé, car il sera généré chaque fois que l'on clique sur le bouton dans le formulaire Access.

    Ce qui ne fonctionne pas :

    Activer les étiquettes des valeurs (de l'axe vertical) au-dessus des barres (catégorie) : aucune étiquette n'apparait sur le graphique.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        With chartObj.SeriesCollection
            .HasDataLabels = True
            .ApplyDataLabels Type:=xlValue
        End With
    Déplacer le graphique dans une nouvelle feuille "Graphique" : dans Excel, on sélectionne le graphique, puis dans "Outils de graphique" on clique sur "Création", ensuite sur "Déplacer le graphique", on choisit "Nouvelle feuille" et on lui donne un nom, ici tout simplement "Graphique". Le graphique s'ouvre dans une nouvelle feuille sur la totalité de la surface et sans tableau sur le fond (formidable, c'est ce qu'il me faut!).
    Nom : MoveGraph.jpg
Affichages : 60
Taille : 11,8 Ko
    Malheureusement, je n'arrive pas à l'automatiser.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    chartObj.Chart.Location Where:=xlLocationAsNewSheet, Name:="Graphique" 'ActiveChart
    Masquer les feuilles "Feuil1", "Feuil2" et "Feuil3" créé automatiquement par Excel. Ceci est moins prioritaire, mais il me semble que ça doit-être possible.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xlWB.Sheets("Feuil1").Visible = xlSheetHidden
    ou bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xlWB.Sheets("Feuil1").Visible = False
    La feuille reste résolument visible!

    Quitter Excel sans confirmation de sauvegarde. Le fichier ne doit pas être sauvegardé, car il sera généré chaque fois que l'on clique sur le bouton dans le formulaire Access. Idéalement il faudrait créer dynamiquement une macro dans le classeur créé, qui soit me permet de quitter Excel sans confirmation de sauvegarde en cliquant sur le x supérieur droit, soit en créant un bouton "quitter" avec la macro correspondante sur la feuille "Graphique". Si j'ajoute les lignes suivantes au code, Excel se ferme effectivement sans confirmation et sans sauvegarde, mais je ne parviens pas à ce que l'on puisse le faire manuellement à partir d'Excel.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            xlAp.DisplayAlerts = False
            xlWB.Saved = True
            xlWB.Close True
            Set xlWB = Nothing
            xlAp.Quit
            Set xlAp = Nothing
    Voilà! Si quelqu'un une idée (ou des idées), je suis preneur.

    N'hésitez pas, si nécessaire, à me demander de plus amples informations.

    Bonne journée,

    Gaston

  10. #10
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 396
    Points : 19 819
    Points
    19 819
    Billets dans le blog
    66
    Par défaut
    Bonjour,

    Une autre piste serait de créer manuellement ton graphique sous Excel en le définissant comme tu le souhaites et en le liant à une plage de données.

    Ensuite tu mets à jour cette plage de données depuis Access. Un exemple de fonction d'exportation des données :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    Option Compare Database
    Option Explicit
     
    Const xlcolumns = 2
     
    Function ExportXLS(wb As Object, requete As String, fichier As String, feuille As String, Titre As String)
        ''Reference: Microsoft ActiveX Data Object x.x Library
        Dim db As DAO.Database
        Dim rs As DAO.Recordset
        Dim ws As Object
        Dim ch As Object
        Dim l As Long
        Const xlup = -4162
     
        Set db = CurrentDb
     
        ''Connection relevant for 2007 or 2010
        Set rs = db.OpenRecordset(requete)
     
        Set ws = wb.Sheets(feuille)
     
        ws.Cells.Clear
     
        ws.Cells(1, 1).CopyFromRecordset rs
     
        rs.Close
        Set rs = Nothing
     
        db.Close
        Set db = Nothing
     
        Set ch = ws.ChartObjects(1)
     
        ch.Activate
     
        l = ws.Cells(ws.Columns(1).Cells.Count, 1).End(xlup).Row
        ws.Range("B1:B" & l).NumberFormat = "#,##0.00 €"
     
        ch.Chart.SetSourceData ws.Range("A1:B" & l), PlotBy:=xlcolumns
     
        ch.Chart.ChartTitle.Text = Titre
     
        Set ch = Nothing
     
        Set ws = Nothing
     
    End Function
    Puis, tu appelle cette fonction comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Call ExportXLS(wb, Me.GraphiqueVentes.RowSource, chemin, "Ventes", "Evolution des ventes " & Format(Me.ExerciceVentes, "#,##0.00 €"))
    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  11. #11
    Membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2019
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2019
    Messages : 125
    Points : 43
    Points
    43
    Par défaut
    Bonjour User et merci pour ta proposition,

    J'ai fait un éssai, mais j'obtiens le message d'erreur suivant :

    Nom : Erreur424.jpg
Affichages : 44
Taille : 13,3 Ko

    sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Call ExportXLS(GraphVidéo.xlsx, "qryComptePays_2", CurrentProject.Path & "\GraphVidéo.xlsx", "Graphique", "Nombre de films par pays")
    Où est l'erreur ?

  12. #12
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 396
    Points : 19 819
    Points
    19 819
    Billets dans le blog
    66
    Par défaut
    Cela vien du 1er argument de type workbook. Essayer ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim chemin As String
    Dim xl As Object
    Dim wb As Object ''Object
     
    chemin = CurrentProject.Path & "\GraphVidéo.xlsx"
     
    Set xl = CreateObject("Excel.Application")
    Set wb = xl.Workbooks.Open(chemin)
     
    Call ExportXLS(wb, "qryComptePays_2", chemin, "Graphique", "Nombre de films par pays")
     
    '...
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  13. #13
    Membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2019
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2019
    Messages : 125
    Points : 43
    Points
    43
    Par défaut
    En effet, il fallait définir l'objet, seulement maintenant j'ai l'erreur 1004 :

    Nom : Erreur1004.jpg
Affichages : 43
Taille : 15,1 Ko

    sur la ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set ch = ws.ChartObjects(1)

  14. #14
    Membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2019
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2019
    Messages : 125
    Points : 43
    Points
    43
    Par défaut
    Le problème provient peut-être de la référence à Microsoft ActiveX Data Object x.x Library

    J'utilise Office 2010 et j'ai 6 versions disponibles :

    Microsoft AcfiveX Data Objects 2.0 Library
    Microsoft AcfiveX Data Objects 2.5 Library
    Microsoft ActiveX Data Objects 2.6 Library
    Microsoft Activex Data Objects 2.7 Library
    Microsoft ActiveX Data Objects 2.8 Library
    Microsoft AcfiveX Data Objects 6.0 Library

    J'ai coché le premier, mais est-ce le bon ?

  15. #15
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 396
    Points : 19 819
    Points
    19 819
    Billets dans le blog
    66
    Par défaut
    L'exemple simple que j'ai donné concerne une feuille contenant un graphique.

    Ici la feuille "Graphique" ne semble pas contenir de graphique :

    https://learn.microsoft.com/fr-fr/of...t.chartobjects
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  16. #16
    Membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2019
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2019
    Messages : 125
    Points : 43
    Points
    43
    Par défaut
    j'avais oublié de créer le graph !

    Le problème, c'est que le classeur Excel ne s'affiche pas et lorsque je l'ouvre manuellement je reçois le message suivant :

    Nom : MessageExcel.jpg
Affichages : 41
Taille : 18,2 Ko

    Apparemment, le fichier est ouvert, mais ne s'affiche pas !? En répondant non, j'accède au classeur.

    Est-il possible comme j'avais précisé ce matin d'avoir le graphique sur une feuille graphique séparé, plutôt que sur la feuille de calcul (avec "Déplacer le graphique").
    Il faudrait alors indiquer au code, sur quelle feuille se trouve le graphique.

    Feuille de données :

    Nom : FeuilleTableau.jpg
Affichages : 42
Taille : 43,5 Ko

    Feuille du graphique :

    Nom : FeuilleGraphiqueSéparé.jpg
Affichages : 42
Taille : 114,9 Ko

  17. #17
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 396
    Points : 19 819
    Points
    19 819
    Billets dans le blog
    66
    Par défaut
    Si vous ne libérez pas vos variables objets à la fin de la procédure les instances vont rester en mémoire :

    Fermer tous vos classeurs et l'application Excel (gestionnaire de ta^ches windows etc..), puis reessayez ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Dim chemin As String
    Dim xl As Object
    Dim wb As Object ''Object
     
    chemin = CurrentProject.Path & "\GraphVidéo.xlsx"
     
    Set xl = CreateObject("Excel.Application")
    Set wb = xl.Workbooks.Open(chemin)
     
    Call ExportXLS(wb, "qryComptePays_2", chemin, "Graphique", "Nombre de films par pays")
     
    wb.Close SaveChanges:=False 
    Set wb = Nothing
     
    xl.Quit
    Set xl = Nothing
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  18. #18
    Membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2019
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2019
    Messages : 125
    Points : 43
    Points
    43
    Par défaut
    Bonjour User,

    Je l'avais fait, mais au niveau de la fonction (module) au lieu de dans l'appel de la fonction.
    OK, le classeur se ferme maintenant, mais il me reste plusieurs choses à adapter.

    1) Le but premier était d'afficher un graphique à partir d'Access, or ici il ne fait que exporter vers un fichier Excel existant sans l'afficher.
    Est-ce possible d'ouvrir le fichier dans lequel on vient d'importer les données, et si oui, comment ?

    2) J'aimerais afficher le graphique en tant que feuille séparé, mais je ne sais pas comment accéder ce graphique.
    Dans le VBE, je vois ceci :

    Nom : ExcelVBA.jpg
Affichages : 22
Taille : 47,9 Ko

    Donc le graphique est un objet dans le classeur au même niveau qu'une feuille, et pas dans la feuille.
    Je ne trouve aucune information à ce sujet sur le Web.
    Je suppose qu'il faut rajouter une variable, mais attribué à quel objet?

    Ce que je voudrais obtenir en cliquant sur un bouton dans mon formulaire Access :

    Nom : FeuilleTableau.jpg
Affichages : 24
Taille : 188,9 Ko
    Nom : FeuilleGraphique.jpg
Affichages : 22
Taille : 126,4 Ko

  19. #19
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 396
    Points : 19 819
    Points
    19 819
    Billets dans le blog
    66
    Par défaut
    Oui sans les commandes pour fermer le classeur et l'application :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim chemin As String
    Dim xl As Object
    Dim wb As Object ''Object
     
    chemin = CurrentProject.Path & "\GraphVidéo.xlsx"
     
    Set xl = CreateObject("Excel.Application")
    Set wb = xl.Workbooks.Open(chemin)
     
    Call ExportXLS(wb, "qryComptePays_2", chemin, "Graphique", "Nombre de films par pays")
     
    Set wb = Nothing
     
    Set xl = Nothing
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  20. #20
    Membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2019
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2019
    Messages : 125
    Points : 43
    Points
    43
    Par défaut
    Oui, j'avais essayé ça, mais alors on revient au problème cité précédemment ; "le classeur Excel ne s'affiche pas et lorsque je l'ouvre manuellement je reçois le message suivant :

    Nom : MessageExcel.jpg
Affichages : 18
Taille : 18,2 Ko

    Le fichier est bien ouvert, mais ne s'affiche pas ! En répondant non, j'accède au classeur.
    Ou si j'ouvre une nouvelle instance d'Excel, j'ai un nouveau classeur qui s'ouvre comme d'habitude et le fichier "GraphVidéo.xlsx" qui s'affiche.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [PHP/MySQL] Probleme avec ' (quote)
    Par xtaze dans le forum XQUERY/SGBD
    Réponses: 2
    Dernier message: 02/11/2006, 10h00
  2. Expression Régulière avec Quote
    Par jon301 dans le forum Langage
    Réponses: 3
    Dernier message: 25/10/2006, 22h08
  3. [MySQL] Problème de rquête avec Quôte
    Par yom17 dans le forum Langage SQL
    Réponses: 7
    Dernier message: 23/10/2006, 10h58
  4. [Wamp] Problème d'insertion avec quote d'un formulaire
    Par cyberdevelopment dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 20/08/2006, 18h55
  5. pb avec quote...php + mysql
    Par nicdes dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 10/12/2005, 01h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo