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 lors de la création d'un graphe en VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 184
    Par défaut Problème lors de la création d'un graphe en VBA
    Bonjour,

    J'ai deux étapes dans mon code.

    La première étape est de rajouter deux lignes de donnés(peu importe ce 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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
            Workbooks("Donnees-Positionnemnt.xlsm").Sheets("Données générales").Activate
            m = Target.Row + 1
            Rows(m).Select
            Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
            Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
            Rows(m).Select
            With Selection.Interior
                .Pattern = xlSolid
                .PatternColorIndex = xlAutomatic
                .ThemeColor = xlThemeColorDark2
                .TintAndShade = -0.249977111117893
                .PatternTintAndShade = 0
            End With
            Rows(m + 1).Select
            With Selection.Interior
                .Pattern = xlSolid
                .PatternColorIndex = xlAutomatic
                .ThemeColor = xlThemeColorAccent3
                .TintAndShade = 0.399975585192419
                .PatternTintAndShade = 0
            End With
     
     
     
            For i = 3 To Sheets.Count
                For j = 2 To Sheets(i).Range("B" & Rows.Count).End(xlUp).Row
                    If Sheets(i).Cells(j, 2) = Sheets("Données générales").Cells(Target.Row, 2).Value Then
                        c1 = Sheets("Données générales").Cells(m, Columns.Count).End(xlToLeft).Column + 1
                        If c1 = 2 Then c1 = 1
                        c2 = Sheets(i).Cells(1, Columns.Count).End(xlToLeft).Column - 1
                        For k = 3 To c2
                            Sheets("Données générales").Cells(m + 1, c1) = Sheets(i).Cells(j, k)
                            Sheets("Données générales").Cells(m, c1) = Sheets(i).Cells(1, k)
                            Workbooks("Donnees-Positionnemnt.xlsm").Sheets(i).Cells(1, k).Copy
                            Workbooks("Donnees-Positionnemnt.xlsm").Sheets("Données générales").Cells(m, c1).PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
                            SkipBlanks:=False, Transpose:=False
                            Application.CutCopyMode = False
                            c1 = c1 + 1
                        Next
                    End If
                Next
            Next
    La deuxième étape est de créer un graphe lié à ces deux lignes :
    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
            columnCount = Cells(m, Columns.Count).End(xlToLeft).Column
            With Workbooks("Donnees-Positionnemnt.xlsm").Sheets("Données générales")
                Set R = .Range(Cells(m, 1), Cells(m + 1, columnCount))
                Set Ch = .Shapes.AddChart
                With Ch.Chart
                    .SetSourceData Source:=R
                    .ChartType = xlLineMarkers
                    .Axes(xlValue).ReversePlotOrder = True
                    '.Axes(xlCategory).MajorUnit = 7
                    .HasTitle = True
                    .ChartTitle.Caption = """" & Workbooks("Donnees-Positionnemnt.xlsm").Sheets("Données générales").Cells(ActiveCell.Row - 1, 2) & """"
                End With
                Set Ch = Nothing
                Set R = Nothing
            End With
    Mais il donne comme graphe :


    Nom : 1.PNG
Affichages : 258
Taille : 29,8 Ko

    J'ai alors essayé de rajouter les deux lignes manuellement puis exécuter que le code de la deuxième étape(créer le graphe), il marche :


    Nom : 2.PNG
Affichages : 212
Taille : 17,0 Ko



    Vous sauriez pourquoi?

    De plus, la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Axes(xlCategory).MajorUnit = 7
    ne marche pas même si les données sont par semaine!


    Merci d'avance!

  2. #2
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 184
    Par défaut
    Laissez tomber les autres difficultés, quelqu'un saurait pourquoi c'est des points au lieu d'une courbe dans le premier graphe?

    Ce que je ne comprends pas, c'est que si j'insère le graphe manuellement, cela marche. Mais si j'écris une macro, la courbe devient des points. Est-ce que quelqu'un pourrait essayer avec ces deux lignes ci-dessous :

    02/08/2015 09/08/2015 16/08/2015 23/08/2015 30/08/2015 06/09/2015 13/09/2015 20/09/2015 27/09/2015 04/10/2015 11/10/2015 18/10/2015
    17 17 17 17 17 17 17 17 17 17 17 17

    Merci d'avance.

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/10/2014, 11h28
  2. Réponses: 11
    Dernier message: 05/08/2009, 12h30
  3. Réponses: 3
    Dernier message: 26/02/2006, 23h53
  4. Réponses: 2
    Dernier message: 21/11/2005, 09h29
  5. Clé étrangère problème lors de la création de la table.
    Par snoopy69 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 18/08/2005, 08h15

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