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 :

VBA - Mise à jour graphique après ajout séries via VBA


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mars 2021
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Mars 2021
    Messages : 2
    Par défaut VBA - Mise à jour graphique après ajout séries via VBA
    Bonjour à tous,

    Je cherche une solution au problème suivant.
    J'ai créé une Macro qui me permet d'ajouter des séries dans un graphique (voir ci-dessous) et j'ai parfois le problème que le graphique ne se met pas à jour (séries non-visible).
    Pour le mettre à jour je dois faire un click droit sur le graph -> sélectionner les données... -> cliquer sur la dernière série -> OK
    Une fois que j'ai fais 2 fois la manipulation précédente la macro fonctionne...

    Je n'arrive pas identifier ce qui créer ce problème car la macro peut très bien fonctionner pendant un moment puis avoir le problème de mise à jour et comme mentionné ci-dessous après 2 manipulation en manuelle elle se remet à fonctionner.

    Ci-joint vous trouverez le fichier excel avec la macro. Pour activer la macro il faut double cliquer sur les cellules H6:O149 de la feuille "Analysis" et le graphique doit se mettre à jour dans la feuille "Pivot2".
    Ci-dessous un extrait de la macro.


    Je vous remercie par avance pour votre aide et j'espère que vous trouverez une solution


    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
    Sub Graphique ()
        Set Rg_chartX = Worksheets("Pivot2").Range("$C$1:$" & Rg_column & "$1")
        ActiveChart.FullSeriesCollection(1).XValues = Rg_chartX
     
        Set Rg_chart = Worksheets("Pivot2").Range("$C$2:$" & Rg_column & "$2")
        ActiveChart.FullSeriesCollection(1).Values = Rg_chart
     
        Set Rg_chart = Worksheets("Pivot2").Range("$C$3:$" & Rg_column & "$3")
        ActiveChart.FullSeriesCollection(2).Values = Rg_chart
     
        w = 0
        For w = 0 To k - 2
     
            Set Rg_chart = Worksheets("Pivot2").Range("$C$4:$" & Rg_column & "$4").Offset(w, 0)
            'ActiveChart.FullSeriesCollection(3).Values = Rg_chart
     
            ActiveChart.SeriesCollection.NewSeries
            ActiveChart.FullSeriesCollection(3 + w).Name = Worksheets("Pivot2").Range("$C$4").Offset(w, -1)
            ActiveChart.FullSeriesCollection(3 + w).Values = Rg_chart
            ActiveChart.FullSeriesCollection(3 + w).AxisGroup = 2
            ActiveChart.FullSeriesCollection(3 + w).ChartType = xlXYScatter
            ActiveChart.FullSeriesCollection(3 + w).XValues = Rg_chartX
            Application.Wait (Now + TimeValue("00:00:01"))
            DoEvents
            'Worksheets("Pivot2").ChartObjects("Graphique 3").Chart.Refresh
        Next
     
        'configure chart
        Worksheets("Pivot2").ChartObjects("Graphique 3").Chart.Axes(xlValue, xlPrimary).MaximumScale = Worksheets("Pivot2").Range("A2")
        Worksheets("Pivot2").ChartObjects("Graphique 3").Chart.Axes(xlValue, xlSecondary).MaximumScale = Worksheets("Pivot2").Range("A2")
        Worksheets("Pivot2").ChartObjects("Graphique 3").Chart.Axes(xlValue, xlPrimary).MinimumScale = Worksheets("Pivot2").Range("A4")
        Worksheets("Pivot2").ChartObjects("Graphique 3").Chart.Axes(xlValue, xlSecondary).MinimumScale = Worksheets("Pivot2").Range("A4")
        Worksheets("Pivot2").ChartObjects("Graphique 3").Chart.Axes(xlValue, xlSecondary).TickLabels.NumberFormat = "#.##0,000"
     
        Worksheets("Pivot2").ChartObjects("Graphique 3").Chart.Refresh
     
    End Sub
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. [XL-2007] Mise à jour d'une base données via recherche avancée et formulaire en excel VBA
    Par nazz4 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 21/02/2011, 00h11
  2. Mise à jour DBGrid après ajout d'un champ
    Par jackvpt dans le forum Bases de données
    Réponses: 5
    Dernier message: 30/12/2010, 10h03
  3. Réponses: 4
    Dernier message: 09/03/2007, 19h19
  4. Mise à jour quotidienne d'une table via fichier texte
    Par chooky97150 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 31/08/2006, 22h00
  5. Mise à jour enregistrements après impression
    Par alalau dans le forum Access
    Réponses: 2
    Dernier message: 17/12/2004, 16h13

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