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 :

Problème avec les séries d'un graphique


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 6
    Par défaut Problème avec les séries d'un graphique
    Bonjour à tous, je bute depuis un certain temps sur ce problème... Lors de l'exécution du code suivant, je reçois le message d'erreur 1004 "Impossible de définir la propriété Values de la classe Series" alors que dans le débogueur l'objet MonGraphe comporte bien la dite propriété dans le sous objet series.
    Je tiens à préciser que le graphe en question (nuage de points) comporte déjà 5 séries (d'index 1 à 5) dont je veux modifier les valeurs.
    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
    Dim MonGraphe As Chart, MaSerie As Series, MaFeuille As Worksheet
    
    Set MaFeuille = ThisWorkbook.Worksheets("CoordNoeuds")
    Set MonGraphe = ThisWorkbook.Charts("ForceTemps")
    LigneArrivee = 1
    For CompteurSeries = 1 To 5
        LigneDepart = LigneArrivee + 1
        LigneArrivee = CompteurSeries * (LigneNouveau \ 5)
        Set MaSerie = MonGraphe.SeriesCollection(CompteurSeries)
        With MaSerie
             .Values = "=" & MaFeuille.Range(Cells(LigneDepart, 6), Cells(LigneArrivee, 6)).Address(False, True, xlA1, True)
             .XValues = "=" & MaFeuille.Range(Cells(LigneDepart, 5), Cells(LigneArrivee, 5)).Address(False, True, xlA1, True)
             .Name = "=" & CStr(Round(MaFeuille.Cells(LigneDepart, 7).Value)) & " - " & _
            CStr(Round(MaFeuille.Cells(LigneArrivee, 7).Value))
        End With
    Next CompteurSeries
    Merci d'avance pour votre aide

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Dans cette ligne, tu mets true.
    .Values = "=" & MaFeuille.Range(Cells(LigneDepart, 6), Cells(LigneArrivee, 6)).Address(False, True, xlA1, True)
    Quand à xlA1, c'est le paramètre pas défaut.
    Enfin, pour Address, essaie plutôt cette syntaxe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Address(RowAbsolute:=False, ColumnAbsolute:=False, ... etc)

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 6
    Par défaut
    Merci pour ta réponse, mais le problème ne change pas avec la modification que tu proposes.

    J'ai remarqué aussi que si je rajoute la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ThisWorkbook.Charts("ForceTemps").Activate
        Set MaFeuille = ThisWorkbook.Worksheets("CoordNoeuds")
        Set MonGraphe = ThisWorkbook.Charts("ForceTemps")
    ...
    L'erreur obtenue est :La méthode cells de l'objet _Global a échoué.

    J'ai par ailleurs essayé de remplacer la ligne fautive par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Values = "=CoordNoeuds!F1:F10"
    mais j'ai toujours l'erreur "Impossible de définir la propriété values" etc.

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Tu as essayé avec select
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThisWorkbook.Charts("ForceTemps").Select
    Au moins pour voir s'il y a un changement Mais je ne comprends pas l'erreur que tu indiques avec le code que tu mets. Manque pas un bout ?
    Tu dis

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    PS - Je viens de trouver le code manquant
    A la place de
    Set MaSerie = MonGraphe.SeriesCollection(CompteurSeries)
    With MaSerie
    .Values = "=" & MaFeuille.Range(Cells(LigneDepart, 6) _
    , Cells(LigneArrivee, 6)).Address(False, True, xlA1, True)
    mets plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    With MonGraphe
        Set MaSerie = .SeriesCollection(CompteurSeries)
        With MaSerie
             .Values = "=" & MaFeuille.Range(Cells(LigneDepart, 6) _
            , Cells(LigneArrivee, 6)).Address(False, True, xlA1, True)
    '....
    Tu dis

  6. #6
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 6
    Par défaut
    Non, hélas, j'ai toujours la même erreur, que ce soit avec le Select ou le With MonGraphe, with MaSerie.
    Quel est le genre de code avant qui pourrait poser problème ? (car il y a du code avant mais je n'ai pas le sentiment que ce dernier puisse avoir une influence sur le code présenté)

  7. #7
    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

    je n'ai pas testé ta procédure mais quelle est la valeur attribuée à la variable LigneNouveau ?

    de plus le signe "divisé est erroné dans cette ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LigneArrivee = CompteurSeries * (LigneNouveau \ 5)
    remplace \ par /


    bon week end
    michel

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

Discussions similaires

  1. [CR 2011] de gros problèmes avec les graphiques
    Par kikidrome dans le forum SAP Crystal Reports
    Réponses: 0
    Dernier message: 09/07/2012, 15h40
  2. [Lazarus] Problème avec les caractères graphiques alternatifs
    Par ChPr dans le forum Lazarus
    Réponses: 2
    Dernier message: 16/06/2011, 10h14
  3. problème avec les composant graphique de gwt-ext
    Par ensienne2008 dans le forum GWT et Vaadin
    Réponses: 9
    Dernier message: 16/09/2008, 09h32
  4. Réponses: 15
    Dernier message: 20/12/2006, 16h56
  5. []Problème avec les formulaires Outlook
    Par Invité dans le forum Outlook
    Réponses: 6
    Dernier message: 05/12/2002, 09h59

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