Bonjour,
J'ai une macro qui me donne les bonnes couleurs sur mon graphe de type radar avec marqueurs.
Ce code fonction parfaitement sur un radar de type <radar avec marqueurs>.
L’objectif serai d'avoir cette macro qui fonctionnera sur un graphe de type radar plein où l'on verra déjà les marqueurs (ce qui n'est pas le cas) et par la suite je pourrai lui attribuer mes couleurs souhaitées

Par contre j'aimerai avoir la même mise à jour avec un graphe de type 'radar plein'. Quand je transforme mon graphe de type radar avec marqueurs en graphe de type radar plein. Je perds toutes boutons (formes carres et circulaires) que j'avais sur le premier graphe. Même en faisant une manipulation manuelle, je ne retrouve pas plus les formes.

J'ai décidé de via un code vba de transformer mon graph1 en graph de type 2. Malgré cela il y a bug en ligne 41


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
64
65
66
67
68
 
 
Sub couleur_points()
'
' couleur_points Macro
'
Dim ColorColone(2) As String
 
ColorColone(1) = "Couleur_N"
ColorColone(2) = "Couleur_N_1"
strOnglet = "Cartographie"
 
intCouleur = 46 'par défaut
 
Worksheets(strOnglet).Activate
 
For k = 1 To 2
intOffsetLigne = 1
While Worksheets(strOnglet).Range("Carto_Poids_N").Offset(intOffsetLigne + 1, 0).Value <> ""
    If Worksheets(strOnglet).Range(ColorColone(k)).Offset(intOffsetLigne + 1, 0).Value = "r" Then
        intCouleur = 46
    Else
        If Worksheets(strOnglet).Range(ColorColone(k)).Offset(intOffsetLigne + 1, 0).Value = "v" Then
            intCouleur = 39
        Else
            If Worksheets(strOnglet).Range(ColorColone(k)).Offset(intOffsetLigne + 1, 0).Value = "j" Then
                intCouleur = 6
            End If
        End If
    End If
 
Dim X As Chart
Set X = Charts(1)
'Nom de la feuille où est le graphe
S = X.Name
'MsgBox S
X.Activate
X.ChartType = 82
   ActiveChart.SeriesCollection(k).Select
 
   ActiveChart.SeriesCollection(k).Points(intOffsetLigne).Select
 
        With Selection
 
                        If k = 1 Then
            .MarkerStyle = xlSquare
            ElseIf k = 2 Then
              .MarkerStyle = xlCircle
            End If
            .MarkerBackgroundColorIndex = intCouleur
            .MarkerForegroundColorIndex = xlAutomatic
            If k = 1 Then
            .MarkerStyle = xlSquare
            ElseIf k = 2 Then
              .MarkerStyle = xlCircle
            End If
            .MarkerSize = 11
            .Shadow = False
        End With
 
    intOffsetLigne = intOffsetLigne + 1
Wend
Next k
 
 
Worksheets(strOnglet).Activate
 
End Sub