Bonjour,
En piece jointe j'ai un nuage de points
Je cherche a faire 3 tranches
de 0 à 200 une couleur
de 200 à 400 une autre
400 à 1000 encore une autre couleur
est ce que vous pourriez m'aider pour modifier ca dans le code VBA
Merci
Bonjour,
En piece jointe j'ai un nuage de points
Je cherche a faire 3 tranches
de 0 à 200 une couleur
de 200 à 400 une autre
400 à 1000 encore une autre couleur
est ce que vous pourriez m'aider pour modifier ca dans le code VBA
Merci
Bonjour,
Si j'ai bien lu, quelquechose comme ca devrait faire l'affaire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Sub ModifCouleur() ActiveSheet.ChartObjects(1).Activate For i = 1 To ActiveChart.SeriesCollection(1).Points.Count If Application.Index(ActiveChart.SeriesCollection(1).Values, i) < 200 Then ActiveChart.SeriesCollection(1).Points(i).MarkerBackgroundColorIndex = 4 ElseIf Application.Index(ActiveChart.SeriesCollection(1).Values, i) > 400 Then ActiveChart.SeriesCollection(1).Points(i).MarkerBackgroundColorIndex = 3 Else ActiveChart.SeriesCollection(1).Points(i).MarkerBackgroundColorIndex = 5 End If Next i End Sub
Ca ne fonctionne pas
de plus il n'y a pas 3 tranches ici mais deux !!
<200
ou bien
>400
et d'autre aprt je ne comprends pas pourquoi les points ne prennent pas une couleur différente selon la tranche dans laquelle ils se trouvent.
Bonjour
Chez moi cela fonctionne?
L'imagination est plus importante que le savoir.... A . Einstein. :pastaper:
https://www.developpez.net/forums/blogs/179588-cb_60/
Merci de cliquer sur :resolu:pour clore cette discussion.
Je crois que je me fais tres mal comprendre. Visiblement c'est evident pour moi et non pour les autres internautes.
Je cherche a voir 3 couleurs de points selon la tranche
je viens de voir dans le code de cb_60 ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Sub ModifCouleur() ActiveSheet.ChartObjects(1).Activate For i = 1 To ActiveChart.SeriesCollection(1).Points.Count If Application.Index(ActiveChart.SeriesCollection(1).Values, i) < 200 Then ActiveChart.SeriesCollection(1).Points(i).MarkerBackgroundColorIndex = 4 ActiveChart.SeriesCollection(1).Points(i).MarkerForegroundColorIndex = 4 Else ActiveChart.SeriesCollection(1).Points(i).MarkerBackgroundColorIndex = 39 ActiveChart.SeriesCollection(1).Points(i).MarkerForegroundColorIndex = 39 End If Next i End Sub
Je ne comprends pas plusieurs choses:
Pourquoi dans le code y a successivement 2 lignes répétées deux à deux ???
D'aprés ce que je lis si c'est inferieur a 200 c'est une couleur sinon c'est une autre couleur.
Or, si je prends deux valeurs comme 199 et 201 elles devraient etre de couleur différentes alors que j'obtiens la meme couleur !!!
Enfin, je cherche a mettre 3 couleurs differentes selon la tranche et je modifierai les tranches selon les besoins des claculs.
J'espere que c'est plus clair. Si ca marche pas pour moi serait-ce parce que je suis sous Mac ??
Merci pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ActiveChart.SeriesCollection(1).Points(i).MarkerBackgroundColorIndex = 4 ActiveChart.SeriesCollection(1).Points(i).MarkerForegroundColorIndex = 4
ok
Comment se caracterise VISUELLEMENT la difference entre background et foreground ??
J'essaye de comprendre la logique du code
Pour les autres questions ?? pourquoi entre 199 et 201 je n'observe pas une difference de couleur des points??
Merci
Bonjour
Voici une petite modif qui te permettra j'espere de faire ce que tu souhaite en "D1" la valeur inferieur, en "D2" la valeur superieur et en "d3" j'ai coloré la cellule ( visuel de la couleur qui est entre "d1 et d2").
La difference entre:
une permet de colorer l'interieur du point et l'autre permet de colorer le contour.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ActiveChart.SeriesCollection(1).Points(i).MarkerBackgroundColorIndex = 4 ActiveChart.SeriesCollection(1).Points(i).MarkerForegroundColorIndex = 4
Il faut relancer la macro à chaque modification de point
L'imagination est plus importante que le savoir.... A . Einstein. :pastaper:
https://www.developpez.net/forums/blogs/179588-cb_60/
Merci de cliquer sur :resolu:pour clore cette discussion.
Merci 1000 fois cb_60 pour ton aide précieuse
Tu as ecris le programme idéal pour moi. Changer les valeurs de seuil depuis une cellule est tellement pratique !!
Par contre, si j'ajoute des valeurs et que j'allonge les deux zones que doit inclure le graphe et que je réapplique la macro ca ne me colore plus les nouveaux points qui quelles que soient leur valmeur restent en violet !
Pourquoi ne peut on pas allonger la liste ??
Merci
bonjour
Voici le fichier, j'ai nommée les X et Y avec la fonction decaler
L'imagination est plus importante que le savoir.... A . Einstein. :pastaper:
https://www.developpez.net/forums/blogs/179588-cb_60/
Merci de cliquer sur :resolu:pour clore cette discussion.
Chez moi en tous cas ca ne marche pas !
Prenons un exemple concret:
A la valeur 5 qui correspond 199 je change 199 pour 900 ( changement important avouez le)
Je clique sur go
Au niveau du graphe LA COULEUR NE CHANGE PAS. C'est a devenir fou !!
Si maintenant je rajoutte des données au nuage de point : pareil elles ne sont pas prises en compte (aucun changement automatique de couleur )
Si pret du but j'y arrive pas !!!
re
Bizarre ton probleme car j'ai moi aprés avoir changer la valeur que tu indique, j'ai relancé la macro et le point est bien changé de couleur!!!!
L'imagination est plus importante que le savoir.... A . Einstein. :pastaper:
https://www.developpez.net/forums/blogs/179588-cb_60/
Merci de cliquer sur :resolu:pour clore cette discussion.
Serait-ce un probleme de version de office ?
Je n'arrive meme pas a lancer la macro sur excel 2007 !!
Bonsoir
Malheureusement je ne peux pas t'aider je n'ai pas excel 2007 pour faire les tests
L'imagination est plus importante que le savoir.... A . Einstein. :pastaper:
https://www.developpez.net/forums/blogs/179588-cb_60/
Merci de cliquer sur :resolu:pour clore cette discussion.
le code de cb_60 fonctionne parfaitement sous Excel 2003. Très bon code, bravo !
Bonsoir
Mon code n'est pas mon codemais une adaptation d'une proposition qui avait été faite sur les posts du dessus ( rendons à César ce qui est à César, je crois que l'origine de ce code et de JB)
Amicalement![]()
L'imagination est plus importante que le savoir.... A . Einstein. :pastaper:
https://www.developpez.net/forums/blogs/179588-cb_60/
Merci de cliquer sur :resolu:pour clore cette discussion.
bonjour
la procédure fonctionne parfaitement sous Excel2007
bon week end
michel
Ca marche
Merci 100 000 fois
Sans le savoir vous venez d'aider des myopathes.
( Petit bémol ca marche pas sur macintosh)
Merci encore
Partager