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-E] Rafraichissement d'un graphe


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 44
    Par défaut [VBA-E] Rafraichissement d'un graphe
    Bonjour,
    J'ai un petit souci de mise en forme.
    Mon objectif est de faire apparaître un graphe avec plusieurs courbes avec une courbe qui change de couleur à chaque passage de boucle (pour avoir un effet visuel de progression : en gros une courbe rouge se "balade" au milieu de courbes noires).

    Ci joint le 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
    17
    18
    19
    20
    21
    22
    23
     
    Dim j As Single
    ActiveSheet.ChartObjects("Graphique 1").Activate
    For j = 1 To 5 'ttes courbes en noir
        ActiveChart.SeriesCollection(j).Select
         With Selection.Border
            .ColorIndex = 1
         End With
    Next j
    For num = 1 To 5 'courbe active en rouge
     ActiveChart.SeriesCollection(num).Select
        With Selection.Border
            .ColorIndex = 3
     End With
     
     If num > 1 Then 'on remet courbe précédente en noir
       ActiveChart.SeriesCollection(num - 1).Select
        With Selection.Border
          .ColorIndex = 1
        End With
     End If
     Sleep (200)
    Next num
    Ça marche sauf que à chaque changement de couleur de courbe, le graphe est rafraichi dans sa totalité ce qui fait que les axes, les légendes "clignotent" : ce n'est pas beau, ce n'est pas fluide.
    Y a t'il un moyen pour éviter ce rafraichissement ?

  2. #2
    Membre émérite
    Inscrit en
    Septembre 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 617
    Par défaut
    Tu peux joindre le fichier ou c'est confidentiel?

    Sinon je veux bien regarder ca...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 44
    Par défaut
    Il n'y a absolument rien de confdentiel, c'est juste un test pour l'instant.

    Dans une feuille Excel, j'ai juste mis un tableau de données pour créer 5 courbes dans un graphique.

    Et une macro dont le code est ci dessus pour changer les couleurs des courbes.

    Bref un truc tout simple qui marche mais le graphe "sautille" quand les courbes changent de couleur, c'est ce qui me gène.

  4. #4
    Membre émérite
    Inscrit en
    Septembre 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 617
    Par défaut
    Tu veux pas me le joindre ca m'evitera de refaire le fichier entierement

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 44
    Par défaut
    le fichier concerné :

    test courbes4.zip

  6. #6
    Membre émérite
    Inscrit en
    Septembre 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 617
    Par défaut
    Voila ma poule c bon chez moi

    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
     
    Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
     
    Sub Macro1()
     
    Dim Graph As Chart
    Set Graph = Feuil1.ChartObjects("chart 1").Chart
     
    Dim j As Single
     
     
    For j = 1 To 5 'ttes courbes en noir
        Graph.SeriesCollection(j).Border.ColorIndex = 1
    Next j
     
    For num = 1 To 5 'courbe active en rouge
        Graph.SeriesCollection(num).Border.ColorIndex = 3
     
       If num > 1 Then 'on remet courbe précédente en noir
           Graph.SeriesCollection(num - 1).Border.ColorIndex = 1 
       End If
       Sleep (600)
       DoEvents
    Next num
    End Sub

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 44
    Par défaut
    Super c'est ça.

    Merci encore

    Comme quoi le VBA ne supporte pas l'amateurisme !

  8. #8
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Citation Envoyé par getea85
    Comme quoi le VBA ne supporte pas l'amateurisme !
    Cette phrase-là, il faudrait l'écrire en grand en tête de forum!!!
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

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

Discussions similaires

  1. [XL-2013] VBA Compter le nombre de graphes selectionnés
    Par Marneus22 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/08/2013, 17h09
  2. Macro Excel VBA : création automatique de 140 graphes/graphiques
    Par techneric dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 11/02/2007, 11h13
  3. [VBA-A]Rafraichissement d'un flexgrid
    Par anikeh dans le forum VBA Access
    Réponses: 22
    Dernier message: 22/03/2006, 19h40
  4. [VBA-E]rafraichissement d'une listbox
    Par bastien62200 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 28/02/2006, 14h27
  5. [VBA][OLE] insertion d'un graph dans une diapo Powerpoin
    Par Nexussmb dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 27/10/2005, 17h22

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