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 :

Graphique -automatiser pointillé à partir d'une date donnée


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Analyste Supply Chain
    Inscrit en
    Mai 2015
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste Supply Chain

    Informations forums :
    Inscription : Mai 2015
    Messages : 41
    Par défaut Graphique -automatiser pointillé à partir d'une date donnée
    Bonjour à tous,

    J'aimerais par l'intermédiaire d'une macro, automatiser la mise en pointillé du "futur".

    Nom : exemple.png
Affichages : 1371
Taille : 34,4 Ko

    En gros pour j'ai une colonne dans laquelle j'ai mon numéro de semaine.
    Et trois colonnes de valeurs dans lesquelles j'ai mes historiques + l'année en cours.

    Ce que je souhaite c'est tracer les trois courbes normalement, sauf pour la courbe correspondant à TS2015 à partir de 23 (indication que j'entre dans la cellule à côté de "Date").

    Nom : Exemple 2.png
Affichages : 1513
Taille : 76,5 Ko

    J'ai déjà créé une macro qui me permet de tracer les courbes dans un graphique :

    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
    Sub graphique()
     
    Sheets("Projection").Select
     
    Charts.Add
     
    'Ajoute une série dans le graphique
        With ActiveChart
            .ChartType = xlLine
            .SetSourceData Source:=Range("'Projection'!$U$6:$X$58")
            .SeriesCollection(1).Name = "=Projection!L5C21"
            .SeriesCollection(2).Name = "=Projection!L5C22"
            .SeriesCollection(3).Name = "=Projection!L5C23"
            .SeriesCollection(4).Name = "=Projection!L5C24"
        End With
    End Sub
    La .serieCollection(4) correspond à TS2015, malheureusement à part à la main je ne sais pas comment automatiser à partir du point 23 la mise en pointillé de la .serieCollection(4).

    J'ai donc enregistré une macro pour voir ce qui se déroulait lorsque l'on mettait en pointillé et la seule chose qui ressort en code c'est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ActiveChart.SeriesCollection(4).Points(53).Select
        ActiveSheet.ChartObjects("Graphique 1").Activate
        ActiveSheet.ChartObjects("Graphique 1").Activate
        ActiveChart.SeriesCollection(4).Points(52).Select
        ActiveSheet.ChartObjects("Graphique 1").Activate
    Le code ne dit qu'il ne fait que sélectionner le point alors que j'ai bien mis le trait en pointillé dans mon fichier.

    Si quelqu'un pouvait m'aider, je lui en serai très reconnaissant.
    J'ai mis mon fichier en pièce-jointe au cas où certains souhaiteraient m'aider.

    Merci beaucoup.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre averti
    Homme Profil pro
    Analyste Supply Chain
    Inscrit en
    Mai 2015
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste Supply Chain

    Informations forums :
    Inscription : Mai 2015
    Messages : 41
    Par défaut
    J'ai trouvé la solution.

    Je la mets ici au cas où certains en auraient besoin :

    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
    ActiveSheet.Shapes.AddChart.Select
    
    'Ajoute une série dans le graphiqu
        With ActiveChart
            .ChartType = xlLine
            .SetSourceData Source:=Range("'Projection'!$U$6:$X$58")
            .SeriesCollection(1).Name = "=Projection!L5C21"
            .SeriesCollection(2).Name = "=Projection!L5C22"
            .SeriesCollection(3).Name = "=Projection!L5C23"
            .SeriesCollection(4).Name = "=Projection!L5C24"
        End With
        
      For i = Sheets("Projection").Cells(5, 19).Value To 53 Step 1
        
          With ActiveChart.SeriesCollection(4).Points(i)
            .Border.LineStyle = xlDash
          
            
            End With
            
     Next i
    C'est la partie en gras qui permet de faire les pointillés.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 17/10/2014, 11h14
  2. récuperer l'année à partir d'une date donnée
    Par Hasnaa25 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 13/03/2009, 10h38
  3. déterminer lles colonnes ajoutées à partir d'une date donnée
    Par haykelFST dans le forum Développement
    Réponses: 1
    Dernier message: 25/11/2008, 10h44
  4. Réponses: 3
    Dernier message: 28/08/2007, 09h52
  5. Créer une alerte à partir d'une date donnée
    Par Skumps dans le forum Access
    Réponses: 4
    Dernier message: 13/04/2006, 16h12

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