Couleur colonne graphique
Résolu/Fermé
jipe59552
Messages postés
29
Date d'inscription
jeudi 24 septembre 2015
Statut
Membre
Dernière intervention
26 décembre 2016
-
26 sept. 2015 à 11:44
jipe59552 Messages postés 29 Date d'inscription jeudi 24 septembre 2015 Statut Membre Dernière intervention 26 décembre 2016 - 6 oct. 2015 à 17:13
jipe59552 Messages postés 29 Date d'inscription jeudi 24 septembre 2015 Statut Membre Dernière intervention 26 décembre 2016 - 6 oct. 2015 à 17:13
A voir également:
- Couleur colonne graphique
- Déplacer une colonne excel - Guide
- Formule somme excel colonne - Guide
- Trier colonne excel - Guide
- Changer carte graphique - Guide
- Excel cellule couleur si condition texte - Guide
9 réponses
via55
Messages postés
14502
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
9 décembre 2024
2 736
26 sept. 2015 à 18:35
26 sept. 2015 à 18:35
Bonjour
Il faut passer par une macro, exemple à adapter à tes besoins :
ALT+F11 pour Ouvrir l'éditeur puis Insertion et Module, copier et coller la macro dans la page et fermer l'éditeur
Pour lancer la macro Onglet Développeur - Macros, sélectionner couleurs et Exécuter
Cdlmnt
Via
Il faut passer par une macro, exemple à adapter à tes besoins :
Sub couleurs() 'gestion de l'erreur (pas de barre) On Error Resume Next 'Boucle sur les 16 valeurs For n = 1 To 16 ' si le nom en colonne A se termine par pesf If Right(Range("A" & n + 3), 4) = "pesf" Then 'Met en cyan les berres de la 1ere série ActiveChart.SeriesCollection(1).Points(n).Interior.ColorIndex = 8 'met en bordeaux les barres de la 2nde série ActiveChart.SeriesCollection(2).Points(n).Interior.ColorIndex = 9 End If Next End Sub
ALT+F11 pour Ouvrir l'éditeur puis Insertion et Module, copier et coller la macro dans la page et fermer l'éditeur
Pour lancer la macro Onglet Développeur - Macros, sélectionner couleurs et Exécuter
Cdlmnt
Via
jipe59552
Messages postés
29
Date d'inscription
jeudi 24 septembre 2015
Statut
Membre
Dernière intervention
26 décembre 2016
Modifié par jipe59552 le 29/09/2015 à 14:52
Modifié par jipe59552 le 29/09/2015 à 14:52
Bonjour
Pour rappel la couleur passe au vert quand la terminaison fini par PESF A et noir pour PEFS B
Cela fonctionne pour PESF A mais si PESF B est en colonne F ça ne fonctionne pas
Ex : MAGASIN PESF A
1) Pour mettre la couleur sur les colonnes du graph je dois activer le graphique deux fois sans quoi il ne ce rien, j'ai rajouter ceci derriere sub couleur
2) Pour la terminaison PESF B
J'ai le code de la 1° macro appelé sub couleurb
3) Il y-t-il un moyen d'associer les deux codes
4) J'ai voulu reproduire le code pour faire la même démarche que sur un nouveau graphique TCD mais je ne sais pas comment faire (le tcd me sert de synthèse pour 5 jours)
pour rappel les PESF A vont dans la colonne D via C et PESF B dans la colonne F via E
merci
https://www.cjoint.com/c/EIDmOBRfHGl
Pour rappel la couleur passe au vert quand la terminaison fini par PESF A et noir pour PEFS B
Cela fonctionne pour PESF A mais si PESF B est en colonne F ça ne fonctionne pas
Ex : MAGASIN PESF A
Sub couleurs()
'gestion de l'erreur (pas de barre)
On Error Resume Next
'Boucle sur les 40 valeurs
For n = 1 To 40
' si le nom en colonne A se termine par PESF A
If Right(Range("A" & n + 3), 6) = "PESF A" Then
'Met en vert les barres de la 1ere série
ActiveChart.SeriesCollection(1).Points(n).Interior.ColorIndex = 10
'met en noir les barres de la 2nde série
ActiveChart.SeriesCollection(2).Points(n).Interior.ColorIndex = 1
End If
Next
End Sub
1) Pour mettre la couleur sur les colonnes du graph je dois activer le graphique deux fois sans quoi il ne ce rien, j'ai rajouter ceci derriere sub couleur
sub couleurs()
ActiveSheet.Shapes.Range(Array("Group 8")).Select
ActiveSheet.ChartObjects("Graphique 6").Activate
ActiveChart.PlotArea.Select
'gestion de l'erreur (pas de barre)
On Error Resume Next
'Boucle sur les 40 valeurs
For n = 1 To 40
' si le nom en colonne A se termine par PESF A
If Right(Range("A" & n + 3), 6) = "PESF A" Then
'Met en vert les barres de la 1ere série
ActiveChart.SeriesCollection(1).Points(n).Interior.ColorIndex = 10
'met en noir les barres de la 2nde série
ActiveChart.SeriesCollection(2).Points(n).Interior.ColorIndex = 1
End If
Next
End Sub
2) Pour la terminaison PESF B
J'ai le code de la 1° macro appelé sub couleurb
Sub couleursB()
ActiveSheet.Shapes.Range(Array("Group 8")).Select
ActiveSheet.ChartObjects("Graphique 6").Activate
ActiveChart.PlotArea.Select
'gestion de l'erreur (pas de barre)
On Error Resume Next
'Boucle sur les 40 valeurs
For n = 1 To 40
' si le nom en colonne A se termine par PESF B
If Right(Range("A" & n + 3), 6) = "PESF B" Then
'Met en cyan les berres de la 1ere série
ActiveChart.SeriesCollection(1).Points(n).Interior.ColorIndex = 10
'met en bordeaux les barres de la 2nde série
ActiveChart.SeriesCollection(2).Points(n).Interior.ColorIndex = 1
End If
Next
End Sub
3) Il y-t-il un moyen d'associer les deux codes
4) J'ai voulu reproduire le code pour faire la même démarche que sur un nouveau graphique TCD mais je ne sais pas comment faire (le tcd me sert de synthèse pour 5 jours)
pour rappel les PESF A vont dans la colonne D via C et PESF B dans la colonne F via E
merci
https://www.cjoint.com/c/EIDmOBRfHGl
via55
Messages postés
14502
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
9 décembre 2024
2 736
29 sept. 2015 à 16:27
29 sept. 2015 à 16:27
Bonjour
Si je comprends bien les A étant dans la 1ere série et le B dans la 2eme, la couleur en une seule macro se ferait ainsi :
Pour le TCD il faut copier la macro et changer le nom du graphique puisque il s'appelle cette fois "Graphique 1" et lancer la macro depuis la feuille TCD
Par contre chez moi la 1ere ligne ActiveSheet.Shapes.Range(Array("Group 8")).Select provoque une erreur mais en l'enlevant ça fonctionne
Cdlmnt
Via
Si je comprends bien les A étant dans la 1ere série et le B dans la 2eme, la couleur en une seule macro se ferait ainsi :
Sub couleurs() ActiveSheet.Shapes.Range(Array("Group 8")).Select ActiveSheet.ChartObjects("Graphique 6").Activate ActiveChart.PlotArea.Select 'gestion de l'erreur (pas de barre) On Error Resume Next 'Boucle sur les 40 valeurs For n = 1 To 40 ' si le nom en colonne A se termine par pesf If Right(Range("A" & n + 3), 6) = "PESF A" Then 'Met en vert les barres de la 1ere série ActiveChart.SeriesCollection(1).Points(n).Interior.ColorIndex = 10 End If If Right(Range("A" & n + 3), 6) = "PESF B" Then 'met en noir les barres de la 2nde série ActiveChart.SeriesCollection(2).Points(n).Interior.ColorIndex = 1 End If Next End Sub
Pour le TCD il faut copier la macro et changer le nom du graphique puisque il s'appelle cette fois "Graphique 1" et lancer la macro depuis la feuille TCD
Par contre chez moi la 1ere ligne ActiveSheet.Shapes.Range(Array("Group 8")).Select provoque une erreur mais en l'enlevant ça fonctionne
Cdlmnt
Via
jipe59552
Messages postés
29
Date d'inscription
jeudi 24 septembre 2015
Statut
Membre
Dernière intervention
26 décembre 2016
29 sept. 2015 à 18:37
29 sept. 2015 à 18:37
Bonjour
C'est ok pour le graphique du fichier et mon tableau originale avec 6 graphiques aussi
reste le graphique du tcd il mets que la couleur noir et vert ci joint le fichier dans l'onglet photo pour avoir les mêmes couleurs
https://www.cjoint.com/c/EIDqFKEqJ1l
C'est ok pour le graphique du fichier et mon tableau originale avec 6 graphiques aussi
reste le graphique du tcd il mets que la couleur noir et vert ci joint le fichier dans l'onglet photo pour avoir les mêmes couleurs
https://www.cjoint.com/c/EIDqFKEqJ1l
Sub couleurstcd()
ActiveChart.ChartArea.Select
ActiveChart.PlotArea.Select
'gestion de l'erreur (pas de barre)
On Error Resume Next
'Boucle sur les 40 valeurs
For n = 1 To 40
' si le nom en colonne A se termine par pesf
If Right(Range("A" & n + 3), 6) = "PESF A" Then
'Met en vert les barres de la 1ere série
ActiveChart.SeriesCollection(1).Points(n).Interior.ColorIndex = 10
End If
If Right(Range("A" & n + 3), 6) = "PESF B" Then
'met en noir les barres de la 2nde série
ActiveChart.SeriesCollection(2).Points(n).Interior.ColorIndex = 1
End If
Next
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
via55
Messages postés
14502
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
9 décembre 2024
2 736
29 sept. 2015 à 19:30
29 sept. 2015 à 19:30
Re,
Je pense que ce qui pose problème c'est que le graphique n'est pas sur la même feuille que le TCD car lorsqu'il est sur la même feuille ça fonctionne
Mais là je ne peux en dire plus je ne suis pas assez calé en ce qui concerne les graphiques associée à un TCD
Cdlmnt
Via
Je pense que ce qui pose problème c'est que le graphique n'est pas sur la même feuille que le TCD car lorsqu'il est sur la même feuille ça fonctionne
Mais là je ne peux en dire plus je ne suis pas assez calé en ce qui concerne les graphiques associée à un TCD
Cdlmnt
Via
jipe59552
Messages postés
29
Date d'inscription
jeudi 24 septembre 2015
Statut
Membre
Dernière intervention
26 décembre 2016
29 sept. 2015 à 20:09
29 sept. 2015 à 20:09
Re,
J'ai déplacé le graphique sur l'onglet du TCD le code fonctionne mais que deux couleur sur 4
Merci
J'ai déplacé le graphique sur l'onglet du TCD le code fonctionne mais que deux couleur sur 4
Merci
via55
Messages postés
14502
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
9 décembre 2024
2 736
29 sept. 2015 à 21:13
29 sept. 2015 à 21:13
Dans la macro tu n'as que 2 instructions couleur, couleur 10 et couleur 1
Quelles seraient les 4 couleurs ? et correspondant à quels cas
Quelles seraient les 4 couleurs ? et correspondant à quels cas
jipe59552
Messages postés
29
Date d'inscription
jeudi 24 septembre 2015
Statut
Membre
Dernière intervention
26 décembre 2016
30 sept. 2015 à 03:48
30 sept. 2015 à 03:48
Bonjour
Le noir 1 pour la terminaison PESF B colonne A
le vert 10 terminaison pour PESF A colonne A
Le bleu 11 pour la colonne D
Et bordeau 53 pour la colonne F
fichier en pj
https://www.cjoint.com/c/EIEbWrDgLRl
Merci
Le noir 1 pour la terminaison PESF B colonne A
le vert 10 terminaison pour PESF A colonne A
Le bleu 11 pour la colonne D
Et bordeau 53 pour la colonne F
fichier en pj
https://www.cjoint.com/c/EIEbWrDgLRl
Merci
via55
Messages postés
14502
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
9 décembre 2024
2 736
30 sept. 2015 à 11:11
30 sept. 2015 à 11:11
Bonjour,
Cdlmnt
Via
Sub couleurs() ActiveSheet.Shapes.Range(Array("Graphique 1")).Select ActiveSheet.ChartObjects("Graphique 1").Activate ActiveChart.PlotArea.Select 'gestion de l'erreur (pas de barre) On Error Resume Next 'Boucle sur les 40 valeurs For n = 1 To 40 ' si le nom en colonne A se termine par pesf A met en vert les barres de la 1ere série sinon en bleu If Right(Range("A" & n + 3), 6) = "PESF A" Then ActiveChart.SeriesCollection(1).Points(n).Interior.ColorIndex = 10 Else ActiveChart.SeriesCollection(1).Points(n).Interior.ColorIndex = 11 ' si le nom en colonne A se termine par pesf A met en noir les barres de la 2eme serie sinon en bordeaux If Right(Range("A" & n + 3), 6) = "PESF B" Then ActiveChart.SeriesCollection(2).Points(n).Interior.ColorIndex = 1 Else ActiveChart.SeriesCollection(2).Points(n).Interior.ColorIndex = 53 Next End Sub
Cdlmnt
Via
jipe59552
Messages postés
29
Date d'inscription
jeudi 24 septembre 2015
Statut
Membre
Dernière intervention
26 décembre 2016
6 oct. 2015 à 17:13
6 oct. 2015 à 17:13
Bonjour
Et merci beaucoup
Et merci beaucoup