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 :

Probleme de graphique


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 31
    Par défaut Probleme de graphique
    Bonjour!

    Je fais appel a vous car j'ai un petit souci avec un graphique.

    Voici mon probleme:
    J'ai un graphique qui permet de voir l'evolution d'un parametre en fonction du temps, ainsi que des droites qui symbolisent les valeurs limites a ne pas depasser maximales et minimales). Ma macro a donc pour but de rechercher les bonnes valeurs limites suivant le parametre dont on veut voir l'evolution (ca c'est nickel tout se passe bien), puis de construire ces droites limites. C'est la que je bloque.
    J'ai essaye de passer par enregistrer une macro pour construire ces droites en remplacant juste les valeurs des ordonnees par les valeurs limites (qui sont inscrites dans des variables c d e f), mais ca ne marche pas...

    Voici 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
    24
    25
    26
    27
    28
    29
    30
    31
     
    Private Sub Worksheet_Change(ByVal Target As Range)
     
    Dim a As String
    Dim b As Integer
    Dim c As Double
    Dim d As Double
    Dim e As Double
    Dim f As Double
     
    If "$E$4" = Target.Address Then
        a = Cells(4, 5).Value
            For b = 4 To 43
                If Sheets("Caution").Cells(b, 23) = a Then
                    c = Sheets("Caution").Cells(b, 12)
                    d = Sheets("Caution").Cells(b, 13)
                    e = Sheets("Urgent").Cells(b, 12)
                    f = Sheets("Urgent").Cells(b, 13)
     
                    ActiveSheet.ChartObjects("Chart 4").Activate
                    With ActiveChart
                    .SeriesCollection(2).YValues = "={c,c,c,c,c,c,c,c,c,c,c,c}"
                    .SeriesCollection(3).YValues = "={d,d,d,d,d,d,d,d,d,d,d,d}"
                    .SeriesCollection(4).YValues = "={e,e,e,e,e,e,e,e,e,e,e,e}"
                    .SeriesCollection(5).YValues = "={f,f,f,f,f,f,f,f,f,f,f,f}"
                    End With
                End If
            Next b
    End If
     
    End Sub
    Quand je change la valeur de la cellule E4 (ce qui fait demarrer la macro), j'obtient une erreur:
    "Run time error 438:
    Object doesn't support this property or method"
    en m'indiquant la ligne ".SeriesCollection(2).YValues = "={c,c,c,c,c,c,c,c,c,c,c,c}""

    Pouvez vous m'aider a resoudre ce probleme et a construire mon graphe?

    Merci d'avance

    Daniel

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonjour


    tu peux utiliser ce type de procédure:

    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 C As Double
    Dim i As Integer
    Dim yTab() As Double
     
    C = 28
    ReDim yTab(1 To ActiveChart.SeriesCollection(2).Points.Count)
     
    For i = 1 To UBound(yTab)
        yTab(i) = C
    Next i
     
    With ActiveChart
        .SeriesCollection(2).Values = yTab
    End With

    bon apres midi
    michel

  3. #3
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 31
    Par défaut
    Bonjour SilkyRoad et merci beaucoup, ca marche nickel!!!!!

    Dans un souci de comprehension, peux-tu m'expliquer un petit peu les fonctions ReDim, point.count et UBound?

    Merci encore.

    Daniel

  4. #4
    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
    Dans VBA Excel, il y a une aide en ligne qui permet, grâce à la touche F1, d'obtenir toute l'explication sur les mots ReDim, Points, Count et UBound.
    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!

  5. #5
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 31
    Par défaut
    OKi! Je vais chercher de ce pas!

    Une question: Est-ce que quelqu'un peut me dire pourquoi ma premiere macro ne marchait pas?

  6. #6
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonjour


    Dans un souci de comprehension, peux-tu m'expliquer un petit peu les fonctions ReDim, point.count et UBound?
    tu trouveras des infos complémentaires sur ReDim et UBound dans ce lien:
    http://silkyroad.developpez.com/vba/tableaux/

    point.count sert à compter le nombre de points dans la série, ainsi la procedure continuera de fonctionner dans l'avenir, meme si tu ajoutes ou supprime des données d'abscisses dans le graphique.



    Une question: Est-ce que quelqu'un peut me dire pourquoi ma premiere macro ne marchait pas?
    Tu utilisais YValues au lieu de Values
    Tu indiquais la chaine C entre guillemets ("={c,c,c,c,c,c,c,c,c,c,c,c}") et elle n'était donc pas considérée comme une variable.



    voici mon code commenté:

    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
    Dim C As Double
    Dim i As Integer
    'Définit un tableau qui va contenir les valeurs d'ordonnées
    Dim yTab() As Double
     
    C = 28
    'Redéfinit la taille du tableau en fonction du nombre de points dans la série
    ReDim yTab(1 To ActiveChart.SeriesCollection(2).Points.Count)
     
    'Remplit le tableau avec la valeur que tu as indiqué
    'dans la variable C (28)  
    For i = 1 To UBound(yTab)
        yTab(i) = C
    Next i
     
    'Utilise le tableau pour alimenter les valeurs d'ordonnées de la 2eme serie 
    With ActiveChart
        .SeriesCollection(2).Values = yTab
    End With


    bonne journée
    michel

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

Discussions similaires

  1. Problème affichage graphique
    Par oligig dans le forum Applications et environnements graphiques
    Réponses: 7
    Dernier message: 10/07/2006, 21h12
  2. Problème de graphique
    Par xycoco dans le forum Access
    Réponses: 4
    Dernier message: 24/04/2006, 20h57
  3. [PROBLEME][Carte graphique] 6600LE
    Par yukimura_s33 dans le forum Composants
    Réponses: 3
    Dernier message: 03/02/2006, 16h26
  4. probleme de graphique avec excel
    Par calimero91 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 16/01/2006, 12h17
  5. probleme carte graphique
    Par sisssi_1 dans le forum Composants
    Réponses: 4
    Dernier message: 21/11/2005, 15h08

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