XL 2010 Croisement de 2 courbes graph dans un intervale

Orson83

XLDnaute Impliqué
Bonjour à tous,
Je ne parviens pas "avec une formule" à indiquer à quel moment 2 courbes se croisent. En effet, si la courbe B croise la courbe A, alors j'indique si le croisement a lieu lorsque A baisse ou A monte. Si pas de croisement, alors vide.
Je joins un exemple dan ce ticket.
Merci pour votre aide.
 

Pièces jointes

  • Exemple V1.xlsx
    15.5 KB · Affichages: 2
Dernière édition:

Orson83

XLDnaute Impliqué
Le forum, JHA,
Désolé, pas résolu, car après avoir inséré une autre courbe, je me suis aperçu qu'il y a des erreurs (je ne trouve pas d'où ça vient). Il s'agit des résultats en gras de la colonne H.
Je joins un autre exemple dans ce post.
 

Pièces jointes

  • Exemple V2.xlsx
    17.4 KB · Affichages: 1

JHA

XLDnaute Barbatruc
Bonjour à tous,

Désolé, j'ai essayé de trouver le point d'intersection des 2 courbes avec droitereg() mais cela ne marche pas.
Peut-être que qu'une autre bonne âme charitable te viendra en aide.

JHA
 

Pièces jointes

  • Exemple V2.xlsx
    18.3 KB · Affichages: 2

Orson83

XLDnaute Impliqué
Bonjour à tous,

Désolé, j'ai essayé de trouver le point d'intersection des 2 courbes avec droitereg() mais cela ne marche pas.
Peut-être que qu'une autre bonne âme charitable te viendra en aide.

JHA
Bonjour JHA, le forum,
J'ai peut-être la solution dans le fichier joint trouvé hier soir sur Internet.
Le problème c'est que je ne parvient pas à l'adapter simplement à mon fichier.
La fonction Intersectcomplex me semble être la plus simple à mettre en oeuvre, mais une autre fonction pourrait convenir.
Tchotchodu31
 

Pièces jointes

  • recherche-coisement-courbes-test-formule.xls
    88 KB · Affichages: 2
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Tchotchodu31, JHA,
Un essai en PJ.
Pour les deux courbes sont calculés a et b entre deux points consécutifs.
S'il y a croisement ( colonne H ) alors la date de croisement est à (b2-b1)/(a1-a2).
Attention cependant, dans la feuille le résultat ne peut être qu'une date, donc un entier et on peut donc avoir un décalage d'un jour. Pour XL, en affichage date 1/1/1999 00:01 c'est pareil que 1/1/1999 23:59.
En feuil2 j'ai mis des dates plus espacées, le résultat est bien l'intersection des deux courbes.
 

Pièces jointes

  • Exemple V2.xlsx
    23.8 KB · Affichages: 3

Orson83

XLDnaute Impliqué
Bonjour Tchotchodu31, JHA,
Un essai en PJ.
Pour les deux courbes sont calculés a et b entre deux points consécutifs.
S'il y a croisement ( colonne H ) alors la date de croisement est à (b2-b1)/(a1-a2).
Attention cependant, dans la feuille le résultat ne peut être qu'une date, donc un entier et on peut donc avoir un décalage d'un jour. Pour XL, en affichage date 1/1/1999 00:01 c'est pareil que 1/1/1999 23:59.
En feuil2 j'ai mis des dates plus espacées, le résultat est bien l'intersection des deux courbes.
Bonjour sylvanu, JHA, le forum,
Merci pour cette proposition sylvanu.
L'idée de départ est d'obtenir un des indicateurs "Baisse" ou "Hausse" en colonne F ou H.
Pour ce faire, voir la date du 20/01/1999 qui est en erreur.
Problème :
1. Y a t-il un croisement des 2 courbes dans l’intervalle de dates C15:C16
2. Si croisement, la courbe A est-elle montante ou descendante
- Résultat en H en fonction de ces 2 informations, si croisement, alors courbe A "Baisse" ou "Hausse". Si pas de croisement, alors VIDE.
En visionnant le graphique, je vois des erreurs (pas de croisement en colonne H) le 20/01, 25/01 et 1/02.
Je joins un autre fichier pour plus de clarté.
 

Pièces jointes

  • Exemple V3.xlsx
    17.5 KB · Affichages: 3

Orson83

XLDnaute Impliqué
Bonjour à tous,
Un nouvel essai qui semble marcher avec une seule colonne :
VB:
=CHOISIR(2*SI(OU(ET(D7<E7;D8<E8);ET(D7>E7;D8>E8));0;1)+SI(OU(ET(D7>E7;D8<E8);ET(D7>E7;D8<E8));0;1);"";"Baisse";"Hausse")
Je vois que les 13, 14 et 15 janvier il y a bien un croisement mais à la baisse, du coup, je pense avoir trouvé la solution.
A placer en H8 :
Code:
=SI(OU(ET(G7<=D7;G8>=D8);ET(G7>=D7;G8<=D8))=VRAI;SI(D8>D7;"Hausse";"Baisse");"")
J'aimerai avoir votre avis et/ou simplification si cela est utile.
 

Orson83

XLDnaute Impliqué
Je vois que les 13, 14 et 15 janvier il y a bien un croisement mais à la baisse, du coup, je pense avoir trouvé la solution.
A placer en H8 :
Code:
=SI(OU(ET(G7<=D7;G8>=D8);ET(G7>=D7;G8<=D8))=VRAI;SI(D8>D7;"Hausse";"Baisse");"")
J'aimerai avoir votre avis et/ou simplification si cela est utile.
Effectivement, le "=VRAI" est inutile.
Merci à JHA et sylvanu pour leur contribution.
Je joins dans ce post le fichier avec la solution.
Bonne semaine à tous ;)
 

Pièces jointes

  • Exemple V4 - Solution.xlsx
    17.3 KB · Affichages: 3

Discussions similaires

Réponses
3
Affichages
290

Statistiques des forums

Discussions
312 176
Messages
2 085 965
Membres
103 069
dernier inscrit
jujulop