• Initiateur de la discussion Initiateur de la discussion Fantastico
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

F

Fantastico

Guest
Bonjour,

qq sait-il si l'on peut appliquer une MFC sur un histogramme par exemple avec une série budget et une série réel qui passerait rouge ou bleu selon les mois suivant qu'elle est > au budget ou < ?

Xlment.
 
Re : MFC sur graphique

Bonjour,

Sur ton graphe, je supposes tu as 2 colonnes / mois (budget, réel).
Dans ce cas, une série est composée de seulement le budget et seulement le réel, donc une seule couleur par série me semble-t-il...

si ce n'est pas cela, poste un bout de fichier

ps : encore un contrôleur de gestion sur XLD ?
 
Re : MFC sur graphique

et oui c'est une invasion.

je n'ai pas d'exemple sur fichier car je n'ai rien commençé.
mais dans ma tête, l'objectif est que la colonne du réel passe en rouge les mois où sa valeur est > à la colonne budget.

c'est un exemple tout simple, mais si cela est possible on peut imaginer bsp de choses sur le même principe soit avec des conditions bcp + complexes et avec d'autres types de graph.
.
 
Re : MFC sur graphique

j'ai juste enregistré une macro pour voir comment en VBA on sélectionne juste une partie d'une série

Sub Macro2()
'
' Macro2 Macro
' Macro enregistrée le 01/12/2006
'
'
ActiveSheet.ChartObjects("Graphique 1").Activate
ActiveChart.SeriesCollection(2).Select
ActiveChart.SeriesCollection(2).Points(1).Select
With Selection.Border
.Weight = xlThin
.LineStyle = xlAutomatic
End With
Selection.Shadow = False
Selection.InvertIfNegative = False
With Selection.Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
End Sub


peut-être qu'avec les pros du VBA ici,
on peut dire un algo du genre
'si le point A1 est > au point A2 alors mettre point A2 sur fond rouge'

ou peut-être se servir de la ligne où j'ai mis sup ou pas

en tout cas, si ca existe, je prends 🙂
 

Pièces jointes

Dernière édition:
Re : MFC sur graphique

la fonction couleur inversée permet effectivement une MFC mais qu'à la condition d'une valeur négative.
Dans mon exemple, la valeur positive mais inférieure à une autre série doit changer de couleur.

Je ne pense pas qu'Excel propose pas cette possibilité à défaut et qu'il faut écrire un script qui dirait de prendre l'index couleur de la cellule source et de l'appliquer au format de la colonne, bien sûr en ayant appliquer au préalable une MFC sur la cellule source.

j'illustre mes propos sur le fichier joint.

Le pb c'est que ça me paraît être un script assez long car il faut le faire pour chaque colonne, donc si on a beaucoup de graph, ça devient vite fastidieux.
 

Pièces jointes

Re : MFC sur graphique

Nat,

tu es sûre que tu ne veux pas rester au bureau ce W-E pr plancher sur mon pb?

Sérieusement, je suis un novice en VBA, mais je pense que je ne suis pas loin de trouver, mon seul pb, au delà de la répétition du script pr chaque valeur, c'est d'identifier, ou +tôt déclarer le colorindex de la cellule source.
 
Re : MFC sur graphique

Bonjour Fantastico, Nat

Si j'ai bien compris peut être une solution ci dessous :

Code:
Sub Histo2P()
Dim MaValeur1 As Double, MaValeur2 As Double, p As Byte

With Sheets("Feuil1").ChartObjects("Graphique 1").Chart
    For p = 1 To .SeriesCollection(1).Points.Count
        .SeriesCollection(1).Points(p).HasDataLabel = True
        .SeriesCollection(2).Points(p).HasDataLabel = True
        MaValeur1 = .SeriesCollection(1).Points(p).DataLabel.Characters.Text
        MaValeur2 = .SeriesCollection(2).Points(p).DataLabel.Characters.Text
            If MaValeur1 > MaValeur2 Then
                .SeriesCollection(1).Points(p).Interior.ColorIndex = 3
            Else:
                .SeriesCollection(1).Points(p).Interior.ColorIndex = 5
            End If
        .SeriesCollection(1).Points(p).HasDataLabel = False
        .SeriesCollection(2).Points(p).HasDataLabel = False
    Next p
End With
    
End Sub

bonne soirée et bonweek end
@+
 
Re : MFC sur graphique

ça répond effectivement tout à fait à ce que je veux faire.

Si je comprends bien, je n'ai pas à déterminer la condition point par point, mais seulement pour chaque graphique (dans mon cas, mon fichier comprend + seurs onglets avec le même graph) où je veux l'appliquer.

Je construit le fichier que j'ai en tête et j'essaye de l'appliquer tout en déclarant l'exécution de ces macros à l'ouverture du fichier.
 
Re : MFC sur graphique

Re Fantastico

Oui dans ce cas, ca implique une boucle sur tous les onglets, à l'intérieur une boucle sur tous les graphs (si plusieurs par feuille), et il faut que les graph soient du même type, avec au moins 2 séries. Sinon obligation tester type de graph et /ou nbre de séries etc...

@+
 
Re : MFC sur graphique

Pierrot,


quand tu dis boucle, tu veux dire que je n'ai pas besoin de copier 10 fois ton script pour mes onglets en modifiant chaque fois le nom de la feuille et le n° de graph.

Une boucle permet d'exécuter le même script sur tous les onglets ?

😕
 
Re : MFC sur graphique

Re

Oui une boucle permet d'effectuer la même procédure sur tous les onglets du classeurs.

Pour le nom du graph tu le récupère en cliquant droit dans le graph, et ensuite "fenêtre graphique", mais l'on peu se passer du nom en jouant avec les index.

@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
378
Réponses
8
Affichages
239
  • Question Question
Microsoft 365 Graphique
Réponses
3
Affichages
208
Réponses
11
Affichages
424
Réponses
5
Affichages
665
W
Réponses
16
Affichages
505
Retour