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 :

Nommer un graphique a partir d'une cellule


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Étudiant
    Inscrit en
    Juin 2010
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2010
    Messages : 125
    Points : 105
    Points
    105
    Par défaut Nommer un graphique a partir d'une cellule
    Bonjour tout le monde,

    Je suis confronte a un leger probleme. Je construis une dizaine de courbe de facon automatique avec ma macro (merci zyhack).
    Dans la colonne A, se trouve toutes les 4 cellules le titre global du graphique.

    Malheureusement, je ne parvient pas a affecter autre chose qu'une chaine de caractere fixe.

    Afin que mon probleme soit plus clair, voici le code avec lequel je travaille :

    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    Sub Courbe()
     
    Dim FSGraph As Chart, Graphik As Worksheet, Donnees As Range
    Dim PlageX As Range, PlageY As Range, MaSerie As Series, cmpt As Long, k As Integer
     
     For k = 0 To 1
    Set Graphik = Worksheets("Graphikgrundlag. techn. Fortsch")
     
    ' # Boucle pour transformer les date en texte
    For Each PlageX In Graphik.Range(Graphik.Cells(6, 3), Graphik.Cells(6, Graphik.Cells(6, 3).End(xlToRight).Column))
        PlageX = "'" & Format(PlageX.Value, "mmm-yy")
    Next
     
    With Graphik
        Set Donnees = .Range(.Cells(6, 3), .Cells(9 + 3 * k, .Cells(6, 3).End(xlToRight).Column))
    End With
     
    Set FSGraph = ThisWorkbook.Charts.Add
        FSGraph.ChartArea.Clear
        FSGraph.ChartType = xlLineMarkers
     
    Set PlageX = Donnees.Rows(1)
     
    For cmpt = 1 To 3
        Set PlageY = PlageX.Offset(cmpt + 3 * k, 0)
        Set MaSerie = FSGraph.SeriesCollection.NewSeries
     
        With MaSerie
            .Values = PlageY
            .XValues = PlageX
            .Border.ColorIndex = 13 + cmpt
             .MarkerBackgroundColorIndex = 13 + cmpt
            .MarkerForegroundColorIndex = 13 + cmpt
     
        End With
     
            With ActiveChart
            .HasTitle = True
            .ChartTitle.Characters.Text = "FS" & k
     
            .Axes(xlCategory, xlPrimary).HasTitle = True
            .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Zeit"
            .Axes(xlValue, xlPrimary).HasTitle = True
            .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "FS(%)"
     
        End With
        ActiveChart.HasLegend = True
        ActiveChart.Legend.Select
        Selection.Position = xlRight
        FSGraph.SeriesCollection(cmpt).Name = "=""" & Graphik.Range(Donnees.Cells(cmpt + 1, 0).Address).Value & """"
     
    Next cmpt
    FSGraph.SeriesCollection(1).ChartType = xlColumnClustered
    FSGraph.SeriesCollection(1).Interior.ColorIndex = 16
        FSGraph.SeriesCollection(1).Border.ColorIndex = 16
    FSGraph.Location Where:=xlLocationAsObject, Name:="Graph"
     
    ' # Boucle pour remettre les dates
    For Each PlageX In Graphik.Range(Graphik.Cells(6, 3), Graphik.Cells(6, Graphik.Cells(6, 3).End(xlToRight).Column))
        PlageX = Replace(PlageX.Value, "'", "")
    Next
    Next k
    End Sub
    Voici la partie qui me pose probleme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    With ActiveChart
            .HasTitle = True
            .ChartTitle.Characters.Text = "FS"
    J'ai essaye plusieurs methodes qui n'ont pas fonctionne :
    Cells(X,Y).Value
    Trim(Cells(X,Y).value)

    Ce que je ne comprend pas, c'est que quand je rajoute le parametre k (qui est mon compteur pour les dfferents graphs), cela fonctionne... donc je sais pas si c'est possible d'affecter des cellules dans mon titre...

    Enfin, mon code n'est pas particulierement propre puisquil comporte des zones ecrites correctement et d'autres (pour la mise en forme notamment) issues directement du l'editeur de macro, mais je n'ai aps reussi a reecrire proprement en VBA. Donc si vous voulez m'aider la dessus, je suis volontiers preneur.

    Merci a tous pour m'avoir lu.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Points : 877
    Points
    877
    Par défaut
    Bonjour Potzo

    si tu place le titre du graphique en colonne A sur la même ligne que les dates ( pour ta première plage en A6)

    utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    With ActiveChart
            .HasTitle = True
            .ChartTitle.Characters.Text = Graphik.Range(Donnees.Cells(1, -1).Address).Value

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

Discussions similaires

  1. [VBA-E]suppression lignes a partir d'une cellule active
    Par lio62 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 08/02/2007, 15h01
  2. [VBA-Excel] Créer un événement à partir d'une cellule excel
    Par marsupilami34 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/01/2007, 11h36
  3. Ouvrir fichier a partir d'une cellule
    Par drikse dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 31/08/2006, 14h56
  4. Réponses: 1
    Dernier message: 30/04/2006, 14h24
  5. graphique a partir d une requete croisée dynamique
    Par tamerlan dans le forum Access
    Réponses: 2
    Dernier message: 30/03/2006, 09h12

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