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 :

initialisation d'un graphique


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    502
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 502
    Par défaut initialisation d'un graphique
    bonjour
    j'ai construit un graphique (voir fichier joint) .
    la valeur et le nombres des ordonnees est correct.
    la valeur des abcisses est corect Mais le nombre des abcisses est fausse!
    dans le fichier je devrais avoir 9 valeurs en abcisses mais j'en ai 10 .


    dans le code ci-dessous je cree mon tableaugraphiqueY
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Option Explicit
    Option Compare Text 'permet de ne pas tenir compte des majuscules et minuscules dans chaines decaractere
    Dim i1 As Long
    Dim lig As Long
    Dim Vconsecutiftext As String
    Dim vconsecutif As Integer
    Dim ir  As Long 'index ligne affichage feuille resultat
    Dim indexcourse As Long, nbcoursejouees As Long
    Dim N As Integer
    Dim nomdupari As String
    Dim Valeurs(1 To 20)
    Dim TableaugraphiqueY() As Integer  'module graphique

    dans une procedure
    je dimensionne mon tableau
    le msgbox me permet de verifier que mon tableaugraphiqueY est de taille 9
    Ce qui est le CAs
    la variable nbcoursejouees comme à 1 et ce termine à 9. donc taille 9.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    .............
    MsgBox ("nb de course jouees=" & nbcoursejouees) 'nb total de courses à enlver des que ok
    ReDim TableaugraphiqueY(nbcoursejouees) 'tableauy pour le graphique 1
     
    .......

    Dans le code suivant situe dans une autre procedure, j'affecte à chaqu'une des valeurs de X (X=AN°course)une valeur Y (y=gaint)
    La aussi msgbox me permet de verifier le nombre de AN°COURSE qui commence bien à 1 et se finit à 9
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    ......................
    MsgBox (An°course)
    TableaugraphiqueY(An°course) = gaint 'affiche le benefice (la balance)
    ...........................


    et donc dans la procedure graphique , je cree mon graphique avec l'anomalie decrite plus haut. (voir image)

    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
     
    Sub graphique()
    ' creationGraphiqueParTableau()
        Dim i As Byte
        'Dim TableaugraphiqueX(1 To 20) As Integer, TableaugraphiqueY(1 To 10) As Integer
     
        'Sheets("liste").active
        Sheets("liste").ChartObjects.Delete 'efface la page graphique 'a remettre voir pourquoi erreur
     
     
     
     
        'Création graphique
        Charts.Add
        'Définit la localisation du graphique:
        'dans la feuille de calcul Feuil1 pour cet exemple
        ActiveChart.Location Where:=xlLocationAsObject, Name:="liste"
     
     
     
        'Ajoute une série dans le graphique
        With ActiveChart
            .SeriesCollection.NewSeries
            '.SeriesCollection(1).XValues = TableaugraphiqueX() 'Abscisses
            .SeriesCollection(1).Values = TableaugraphiqueY() 'Ordonnées
            '.SeriesCollection(2).Values = TableaugraphiqueYY() 'Ordonnées
     
            'Définit le type (Courbe)
            .ChartType = xlLine
        ActiveChart.SeriesCollection(1).Name = "nomdelaserie" 'nom dela serie afficher dans la legende
        'ActiveChart.SeriesCollection(2).Name = "nomdelaserie" 'nom dela serie afficher dans la legende
     
     
        End With
    End Sub

    Bref , je ne sais plus ou chercher .?????????????????

    merci d'avance

  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
    En effet, ton tableau commence sur l'indice 0. Si tu remplis les 10 indices suivant (1 à 10) tu as, en effet 11 indices, de 0 à 10. 0, 1, 2, 3,...
    A+

  3. #3
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Bonjour,
    Ont remet ça...
    remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ReDim TableaugraphiqueY(nbcoursejouees) 
    'par
    ReDim TableaugraphiqueY(1 to nbcoursejouees)
    Tu dit..
    A+
    EDIT:
    ou...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ReDim TableaugraphiqueY(nbcoursejouees-1)

  4. #4
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    502
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 502
    Par défaut
    bonsoir
    en effet cela commence à 0 .
    bon la solution que j'ai retenu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ReDim TableaugraphiqueY(1 to nbcoursejouees)
    cela marche

    merci

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

Discussions similaires

  1. [Turbo Pascal] Initialisation/utilisation du mode graphique (unité graph)
    Par malfoy dans le forum Turbo Pascal
    Réponses: 11
    Dernier message: 30/05/2010, 23h27
  2. Problème initialisation graphique
    Par pierrOPSG dans le forum Interfaces Graphiques
    Réponses: 4
    Dernier message: 09/04/2008, 21h01
  3. Initialiser un graphique
    Par developpeur82 dans le forum MATLAB
    Réponses: 2
    Dernier message: 16/05/2007, 17h13
  4. Initialise un graphique croisé dynamique
    Par desperado1970 dans le forum IHM
    Réponses: 4
    Dernier message: 23/02/2007, 23h56
  5. [Free Pascal] Initialisation du mode graphique
    Par diden138 dans le forum Free Pascal
    Réponses: 6
    Dernier message: 28/05/2006, 01h42

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