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 :

Récupérer données graphe sur différents classeurs


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 2
    Par défaut Récupérer données graphe sur différents classeurs
    Bonjour,

    Je cherche à ajouter sur un graphe déjà existant une courbe à partir de données présentes sur un classeur différent de celui où se trouve le graphique.
    Je ne connais quasiment rien en VBA, j'utilise donc l'enregistrement de macro pour mon programme.

    Le problème c'est que ce second classeur peut changer dans le temps en fonction des choix de l'utilisateur. Je suis donc obligé d'appeler dans la création de la courbe le nom du second classeur par une variable. Voici mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Workbooks.Open Filename:=dat
        nom = ActiveWorkbook.Name
    ...
        ActiveSheet.ChartObjects("Graphique 1").Activate
        ActiveChart.SeriesCollection.NewSeries
        ActiveChart.SeriesCollection(2).Name = "=""2%"""
        ActiveChart.SeriesCollection(2).XValues = "=Résultats!$A$5:$A$29"
        ActiveChart.SeriesCollection(2).Values = _
            "='[nom.xls]Tableaux'!$D$35:$D$59"
    dat correspond au contenu d'une cellule contenant l'adresse du fichier à ouvrir.
    En faisant ça, j'obtiens une courbe sur le graphique en question, mais toutes les valeurs sont à 0. Savez-vous ce qui doit remplacer [nom.xls] afin que les données soient renseignées correctement ?

    Merci à vous.

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Si Dat contient le nom complet du fichier à ouvrir
    Si les données récupérées sont issues de la feuille Tableaux du fichier à ouvrir
    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
    Sub MAJgraphique()
    Dim Grf As ChartObject
    Dim Wbk As Workbook
    Dim Dat As String
     
    'Dat = nom complet du fichier à ouvrir
    Application.ScreenUpdating = False
    If Dat <> "" Then
        If Dir(Dat) <> "" Then
            Set Wbk = Workbooks.Open(Dat)
            Set Grf = ThisWorkbook.Worksheets("Résultats").ChartObjects("Graphique 1")
            With Grf.Chart.SeriesCollection.NewSeries
                .Name = "=""2%"""
                .XValues = "=Résultats!$A$5:$A$29"
                .Values = "='[" & Wbk.Name & "]Tableaux'!$D$35:$D$59"
                'La ligne suivante peut être supprimée si on veut garder le lien avec le fichier Dat
                .Values = .Values
            End With
            Set Grf = Nothing
            MsgBox "Mise à jour graphique terminée"
            Wbk.Close False
        Else
            MsgBox "Fichier " & Dat & " introuvable"
        End If
    End If
    End Sub

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 2
    Par défaut
    Merci beaucoup ! Ca marche !

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 12/05/2014, 09h48
  2. Récupérer donnée Boolean sur une table
    Par minooo dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 06/02/2012, 11h00
  3. Récupérer données distantes sur page web
    Par gégé140488 dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 10/11/2010, 13h59
  4. Réponses: 1
    Dernier message: 26/11/2008, 14h53
  5. Import de données situées sur différents fichiers et feuilles Excel.
    Par imalgene dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/05/2007, 15h04

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