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 et sélection de cases discontinues [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de GDMINFO
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    350
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 350
    Par défaut Graphique et sélection de cases discontinues
    Bonjour,

    je souhaite faire un graphique en utilisant des cases qui ne sont pas continues, pour être précis les cases [(A,indiceMeca);(A, indiceEP);(A,indiceInt);(A,indiceExt);(C, indiceMeca);(C, indiceEP);(C,indiceInt);(C,indiceExt)]

    J'ai donc les colonnes A et C qui sont fixées par contre les variables indiceMECA, indiceEP, indiceInt et indiceExt sont des variables initialisées précédemment dans le code.

    Voici ce que j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    With Worksheets(NomFeuille)
     
            ActiveSheet.Shapes.AddChart.Select
            ActiveChart.ChartType = xlRadarMarkers
     
            ActiveChart.SetSourceData Source:=.Range("A" & IndiceEP & ";A" & IndiceMECA & ";A" & IndicePrestInt & ";A" & IndicePrestExt & ";C" & IndiceEP & ";C" & IndiceMECA & ";C" & IndicePrestInt & ";C" & IndicePrestExt)
            End With
    Cette syntaxe me donne un graphe où les cases sélectionnées ne sont pas celles que je souhaite, je pense que range ne doit pas prendre des cases séparées mais en continues, j'ai fait un essai en utilisant Cells() mais ça ne fonnctionnait pas du tout.

    Avez vous une idée de comment s'y prendre ?

    Merci beaucoup,

    GDM.

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonjour
    Ci-joint proposition utilisant 2 variables tableau (à adapter sur ton cas)
    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
    Sub Radar()
    Dim Ch As ChartObject
    Dim NS As Series
    Dim X(1 To 4) As Double, Y(1 To 4) As Double
    Dim IndiceEP As Long, IndiceMECA As Long, IndicePrestInt As Long, IndicePrestExt As Long
     
    Application.ScreenUpdating = False
    With Worksheets("Feuil1")
        '====ici pour mon Test, remplissage des tableaux X et Y
        IndiceEP = 1: IndiceMECA = 4: IndicePrestInt = 7: IndicePrestExt = 10
        X(1) = .Range("A" & IndiceEP): X(2) = .Range("A" & IndiceMECA): X(3) = .Range("A" & IndicePrestInt): X(4) = .Range("A" & IndicePrestExt)
        Y(1) = .Range("C" & IndiceEP): Y(2) = .Range("C" & IndiceMECA): Y(3) = .Range("C" & IndicePrestInt): Y(4) = .Range("C" & IndicePrestExt)
        '====Fin remplissage des tableaux X et Y
     
        Set Ch = .ChartObjects.Add(60, 80, 250, 250)    'Les nombres désignent Gauche, haut, largeur et hauteur de l'objt graphique
        With Ch.Chart
            .ChartType = xlRadarMarkers
            Set NS = .SeriesCollection.NewSeries
            With NS
                .XValues = X
                .Values = Y
            End With
            Set NS = Nothing
        End With
        Set Ch = Nothing
    End With
    End Sub
    EDIT:
    La première proposition rompt le lien entre les données et le graphique (si on change les données, le graphique reste figé sur les données de sa création)
    De la même façon et en utilisant l'union des plages, le lien entre données et graphique n'est pas rompu
    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
    Sub Radar2()
    Dim Ch As ChartObject
    Dim NS As Series
    Dim X As Range, Y As Range
    Dim IndiceEP As Long, IndiceMECA As Long, IndicePrestInt As Long, IndicePrestExt As Long
     
    Application.ScreenUpdating = False
    With Worksheets("Feuil1")
        '====ici pour mon Test
        IndiceEP = 1: IndiceMECA = 4: IndicePrestInt = 6: IndicePrestExt = 10
        Set X = Union(.Range("A" & IndiceEP), .Range("A" & IndiceMECA), .Range("A" & IndicePrestInt), .Range("A" & IndicePrestExt))
        Set Y = Union(.Range("C" & IndiceEP), .Range("C" & IndiceMECA), .Range("C" & IndicePrestInt), .Range("C" & IndicePrestExt))
        '====Fin remplissage
     
        Set Ch = .ChartObjects.Add(60, 80, 250, 250)    'Les nombres désignent Gauche, haut, largeur et hauteur de l'objt graphique
        With Ch.Chart
            .ChartType = xlRadarMarkers
            Set NS = .SeriesCollection.NewSeries
            With NS
                .XValues = X
                .Values = Y
            End With
            Set NS = Nothing
        End With
        Set X = Nothing
        Set Y = Nothing
        Set Ch = Nothing
    End With
    End Sub

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

Discussions similaires

  1. [XL-2010] Création d'un graphique avec sélection aléatoire des données
    Par HoneySlice dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/06/2015, 11h20
  2. Sélection par case à cocher sur plusieurs pages de formulaire
    Par lodan dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/06/2009, 15h44
  3. Sélection de case type excel
    Par grunk dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/06/2009, 17h01
  4. changer la sélection de cases d'une JTable
    Par jeanGuignol dans le forum Composants
    Réponses: 2
    Dernier message: 04/11/2008, 11h26
  5. Réponses: 1
    Dernier message: 04/05/2006, 16h45

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