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

Macros et VBA Excel Discussion :

faire un graphique sur excel à partir d'une base de donnée access via une requete


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2014
    Messages : 92
    Points : 54
    Points
    54
    Par défaut faire un graphique sur excel à partir d'une base de donnée access via une requete
    Bonjour à tous

    Je vais expliquer plus clairement mon problème. J'aimerai pouvoir faire des graphiques sur un fichier excel, via des données qui sont sur une base access sans passer par le copie de la requete dans un range sur un feuillet excel... J'ai cherché sur internet, je n'ai rien trouvé à ce sujet qui puisse m'aider... alors j'ai tenté naïvement quelques astuces au début en mettant carrément la requête comme définition mais évidemment ça n'a pas marché... La dernière astuce que j'ai trouvé, c'était faire croire que je rentrais les données à la main mais ça ne fonctionne pas non plus, si quelqu'un sait si y a une manière propre, ou s'il y a une astuce ? Je vous mets mon dernier code là :

    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
    Dim entree As Date, sortie As Date, part As String, plage As String, plage1 As String
     
     
    entree = Range("J10")
    sortie = Range("J11")
    part = Range("J9")
     
    srequete = "SELECT * FROM PORTEFEUILLES_PARTS WHERE DT BETWEEN #" & entree & "# AND #" & sortie & "# AND trim(TYP_PART)='" & part & "'  order by DT desc "
        Set rs = New ADODB.Recordset
        rs.Open srequete, cncon, adOpenDynamic, adLockOptimistic
        If rs.EOF = False Then
            rs.MoveFirst
     
            plage = ""
            plage1 = ""
     
     
            While rs.EOF = False
     
                plage = rs("PART") & "." & plage
                plage1 = "" & rs("DT") & ";" & plage1 & ""
                rs.MoveNext
            Wend
     
                ActiveSheet.ChartObjects("Graphique 1").Activate
                ActiveChart.SetSourceData Source:=" & plage & "
    J'ai aussi essayé avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveChart.SeriesCollection(2).Values = plage

    Merci de vos lumières

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 594
    Points : 34 263
    Points
    34 263
    Par défaut
    Salut,

    question qui n'a peut etre rien a voir, mais ta ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveChart.SetSourceData Source:=" & plage & "
    ne devrait-elle pas plutot etre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveChart.SetSourceData Source:= plage
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonsoir,
    Il me semble qu'il serait préférable de créer un connecteur odbc sur ton fichier excel et ensuite d'établir un lien SQL sur ton graphique!

    Je l'ai déjà fait avec un tableau dynamique croisé pour un graphe je regarde!

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2014
    Messages : 92
    Points : 54
    Points
    54
    Par défaut
    Citation Envoyé par Jean-Philippe André Voir le message
    Salut,

    question qui n'a peut etre rien a voir, mais ta ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveChart.SetSourceData Source:=" & plage & "
    ne devrait-elle pas plutot etre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveChart.SetSourceData Source:= plage

    salut

    si si cela à voir ^^ mais j'ai essayé cette possibilité aussi, j'ai aussi essayé de mettre entre {} et de retranscrire de la même manière que si je taper à la main dans excel les ajouts de données du graphique, mais ça ne fonctionne pas...

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2014
    Messages : 92
    Points : 54
    Points
    54
    Par défaut
    Citation Envoyé par dysorthographie Voir le message
    Bonsoir,
    Il me semble qu'il serait préférable de créer un connecteur odbc sur ton fichier excel et ensuite d'établir un lien SQL sur ton graphique!

    Je l'ai déjà fait avec un tableau dynamique croisé pour un graphe je regarde!

    Si tu peux m'éclairer sur le lien SQL vers le graphique stp

  6. #6
    Invité
    Invité(e)
    Par défaut
    bonjour,
    oui sens problème, mais avant il faut que je trouve l’ampoule pour m’éclairer moi même!

    le premier arrivé attend l'autre.

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2014
    Messages : 92
    Points : 54
    Points
    54
    Par défaut
    J'ai pensé à une astuce en voyant qu'avec un array, cela marche... Mais il faut créer un array avec toutes les valeurs de la base, quelqu'un sait comment procéder pour réaliser cela ? si c'est possible...

  8. #8
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2014
    Messages : 92
    Points : 54
    Points
    54
    Par défaut
    C'est bon j'ai trouvé...

    je créais un tableau plage(i) avec les valeurs de ma requête, et je donne mon tableau, excel le traduit tout seul :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveChart.SeriesCollection(2).Values=plage

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 04/01/2016, 12h30
  2. Réponses: 0
    Dernier message: 09/02/2011, 09h13
  3. Réponses: 1
    Dernier message: 01/04/2010, 22h23
  4. [ODBC] Sécuriser une base de données Access via une interface en PHP
    Par maraly dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 07/08/2007, 08h49
  5. [base de données]partage d'une base de données
    Par Scrusher dans le forum JDBC
    Réponses: 4
    Dernier message: 02/06/2004, 13h33

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