Mise en forme conditionnelle de plusieurs courbes

Sunn -  
Frenchie83 Messages postés 2240 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je bloque sur une mise en forme conditionnelle que j'aimerais mettre en place sur un graphique "nuages de points" sur Excel. J'ai 2 courbes sinusoïdales (qu'on va appeler A et B).

Je ne cherche pas à toucher à la courbe A. C'est elle qui va me servir de base pour ma condition.
Je cherche à faire en Sorte que la courbe B soit en gras lorsqu'elle va dans le sens inverse de la courbe A, et qu'elle ne soit pas en gras lorsqu'elle va dans le même sens.

Il y a les 4 cas suivant, et j'aimerais le faire de manière automatique car à une mise en forme conditionnelle.
cas 1 : B en gras lorsque B descend et lorsque A monte
cas 2 : B en gras lorsque B monte et A descend
cas 3 : B pas en gras lorsque B descend et A descend
cas 4 : B pas en gras lorsque B monte et A monte

Est-ce que l'un d'entre vous pourrait m'expliquer comment procéder?

Merci par avance.


A voir également:

4 réponses

Raymond PENTIER Messages postés 58990 Date d'inscription   Statut Contributeur Dernière intervention   17 354
 
Impossible à faire.

Il n'est cependant pas impossible qu'un féru de VBA puisse te proposer une macro ...
0
Sunn
 
Bonjour, pourtant quelqu'un m'a imprimé un graphique dont j'essaye de reproduire les séries et les courbes et c'est exactement ce qu'il à pu faire. Cependant ce n'est pas lui qui à réalisé son graphique donc il n'a pas pu m'aider... Je ne sais pas si il l'a transcris ses sinusoïdes sous formes de courbes ou de nuage de point par contre. Ce doit être faisable mais comment..

J'ai fait un exemple de ce que j'ai fait si ça peut aider à me faire comprendre (en Feuille 1 mes calculs et en feuille 2 mon graph):

https://www.cjoint.com/c/HIxhKRUyMc0

Merci de votre réponse quoi qu'il en soit
0
Frenchie83 Messages postés 2240 Date d'inscription   Statut Membre Dernière intervention   338
 
Bonjour,

Voici un exemple avec un graphique avec courbes. Pour une proposition avec nuage de points, il faudrait voir comment est construit le tableau de valeurs ainsi que le graphique. En attendant vous pouvez vous inspirer de ceci.
https://www.cjoint.com/c/HIxdSZRiF0w

Cdlt
0
Sunn
 
Bonjour Frenchie83,

ça se rapproche de ce que je cherche mais je ne comprends pas la formule utilisé, ou le procédé pour y parvenir.
De plus si l'on suit votre graphique, il faudrait que votre ligne B rouge soit "Grasse" en AA3 et pas en AA4 car la ligne A bleue commence à descendre et donc à être dans le sens opposé à la ligne B en AA3 jusqu'en AA7 (hors la même problème la courbe B rouge est grasse jusqu'en AA6.

Concrètement dans l'exemple que je donne si dessous :

https://www.cjoint.com/c/HIxhKRUyMc0

En page 2 : Il faudrait que ma courbe "Sin A" soit gras du point d'abscisse 6 au point 11, ensuite elle redevient maigre pour redevenir grasse du point 11 au point 25.

Merci de votre Aide
0
Frenchie83 Messages postés 2240 Date d'inscription   Statut Membre Dernière intervention   338
 
RE,
Voilà, ramené aux valeurs de votre tableau
Sub Format_Graphique()
    Application.ScreenUpdating = False
    Set ShCalc = Sheets("Calculs")
    Set ShGraph = Sheets("Graphs")
    ShGraph.Select
    ActiveSheet.ChartObjects("Graphique 7").Activate
    ActiveChart.SeriesCollection(2).Select
    For i = 4 To 53
        If ShCalc.Cells(i, "G") > ShCalc.Cells(i - 3, "G") And ShCalc.Cells(i, "I") > ShCalc.Cells(i - 3, "I") Or _
            ShCalc.Cells(i, "G") < ShCalc.Cells(i - 3, "G") And ShCalc.Cells(i, "I") < ShCalc.Cells(i - 3, "I") Then ' A et B montent ou 'A et B descendent ---> Trait fin
            ActiveChart.SeriesCollection(2).Points(i - 3).Border.Weight = xlThin
            
        ElseIf ShCalc.Cells(i, "G") > ShCalc.Cells(i - 3, "G") And ShCalc.Cells(i, "I") < ShCalc.Cells(i - 3, "I") Or _
        ShCalc.Cells(i, "G") < ShCalc.Cells(i - 3, "G") And ShCalc.Cells(i, "I") > ShCalc.Cells(i - 3, "I") Then ' A monte et B descend ou A descend et B monte ---> Trait épais
            ActiveChart.SeriesCollection(2).Points(i - 3).Border.Weight = xlThick
        End If
    Next
End Sub


Cdlt
0
Sunn
 
merci pour votre retour plus que précis, mais savez-vous dans quelle partie d'EXCEL est-il possible de rentrer ce programme, dans quelle menu ou sous partie du menu dois-je aller pour l'insérer car je n'arrive pas mettre en place des règles de mise en forme conditionnelle sur le graphique.
0
Frenchie83 Messages postés 2240 Date d'inscription   Statut Membre Dernière intervention   338 > Sunn
 
Bonjour,

Comme vous l'a déjà dit Raymond, on ne peut pas utiliser de mise en forme conditionnelle sur un graphique. Pour ce que vous voulez faire, on ne peut agir sur les courbes qu'en écrivant un petit bout de programme en langage VBA. Voici donc le fichier avec le programme de modification des courbes inclus, avec sur la feuille "Graphs" des boutons pour jouer sur la forme de la courbe Sin B. Vous pouvez voir le contenu du programme affecté à chaque bouton en appuyant simultanément sur les touches ALT et F11.
https://www.cjoint.com/c/HIydu5IJl6w

Cdlt
0
Raymond PENTIER Messages postés 58990 Date d'inscription   Statut Contributeur Dernière intervention   17 354
 
Sunn, il faut essayer de t'approprier les réponses que l'on te donne !
Je t'ai indiqué, d'entrée de jeu, que ce que tu demandes est impossible.
A la place de ton idée de mise en forme conditionnelle, je t'ai suggéré d'attendre une macro.
C'est fait, Frenchie83 t'en a concocté une.
Et tu récidives en sollicitant des règles de mise en forme conditionnelle !

Renseigne-toi plutôt sur les macros : à quoi elles servent, comment on les écrit, à quel endroit on les stocke, comment on les déclenche ...
Et par pitié, oublie la mise en forme conditionnelle ; elle ne fonctionne pas ici !
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
Bonjour à tous les trois

Une autre solution qui travaille directement sur les données source du graphique
https://www.cjoint.com/c/HIxp4tuyk1B

Cdlmnt
0