pente et ordonnée origine sur plage variable(résolu)

roybaf

XLDnaute Occasionnel
Bonjour à tous,

J'ai un ultime problème à résoudre (je l'espère vraiment).

Je cherche ici a obtenir la pente et l'ordonnée à l'origine de la courbe de tendance représenté graphiquement çi dessous dans le fichier. Ma question est comment faire pour que ma plage pour le calcul intègre le fait que je ne souhaite que les trente derniers jours à partir d'aujourd'hui?

Merci à tous.
 

Pièces jointes

  • CODG (2).xlsm
    20.5 KB · Affichages: 54
Dernière édition:

Misange

XLDnaute Barbatruc
Re : pente et ordonnée origine sur plage variable

Bonjour

j'ai défini deux noms dynamiques à partir de ton tableau avec la fonction décaler de façon à ne tenir compte que des 30 dernières valeurs
accord30 =DECALER(Tableau1[[#En-têtes];[accord]];NBVAL(Tableau1[accord]);0;-30;1)
date30 =DECALER(Tableau1[[#En-têtes];[date]];NBVAL(Tableau1[date]);0;-30;1)

ces deux noms sont ensuite utilisés d'une part dans ton graphique pour qu'il ne représente que ces 30 derniers jours
et d'autre part dans le calcul des paramètres de la droite de régression
pour la pente :
=INDEX(DROITEREG(accord30;date30;VRAI;FAUX);1;1)
pour l'ordonnée à l'origine
=INDEX(DROITEREG(accord30;date30;VRAI;FAUX);1;2)

tu peux aussi sélectionner deux cellules, taper la formule
DROITEREG(accord30;date30)
et valider en matricielle (ctrl+maj+entrée) pour avoir ces deux valeurs.
 

Pièces jointes

  • Copie de CODG (2).xlsm
    20.5 KB · Affichages: 46

roybaf

XLDnaute Occasionnel
Re : pente et ordonnée origine sur plage variable

bonjour misange,

Merci pour ta réponse, sur mon fichier reel j'ai 300 colonnes, n'ya t-il pas moyen qu'en faisant glisser la formule je puisse obtenir les infos pour toutes les colonnes?

En faite je cherche à obtenir la pente et l'ordonnée à l'origine de toutes mes colonnes.

Merci
 
Dernière édition:

CyberNeo99

XLDnaute Occasionnel
Re : pente et ordonnée origine sur plage variable

Bonjour,

L'ordonnée à l'origine si ma mémoire est bonne c'est lorsque y = 0 donc dans l'équation de la forme ax + by +c = 0 ou de la forme y = ax + c alors l'ordonnée à l'origine sera - (c/a) la pente c'est le coéficient de x divisé par y, par contre ça je ne suis plus sûr.


Neo
 

Misange

XLDnaute Barbatruc
Re : pente et ordonnée origine sur plage variable

Bonjour
on ne peut pas utiliser decaler dans une formule matricielle or droite reg est une formule matricielle (utiliser index comme je l'ai fait sert juste à extraire la donnée pertinente de la matrice revoyée par cette fonction).
Tu peux en revanche utiliser un nom défini avec decaler.
Donc là comme ça par formule à tirer je ne vois comment faire. D'autres auront peut être une idée mais le vendredi en fin de journée mon neurone est fatigué :)
Il faut probablement passer par une macro.

il y a un problème dans ton classeur : il manque certaines dates. Or une droite de régression, quelle que soit la méthode de calcul n'a de sens que sur des données qui se représentent en nuage de point et pas en courbe comme tu l'as fait.
 

ROGER2327

XLDnaute Barbatruc
Re : pente et ordonnée origine sur plage variable

Bonjour à tous.


Je n'ai probablement pas vraiment compris le problème, mais je me suis amusé un peu avec cette histoire de plage glissante. Le classeur joint est un classeur d'étude qui doit être encore travaillé avant d'être réellement utilisable.

Une remarque : on peut parfaitement utiliser la fonction DECALER dans la fonction DROITEREG. (Voir plage G2:G3 et cellule G4)



ROGER2327
#6504


Dimanche 15 Pédale 140 (Saints Adelphes, esotéristes - fête Suprême Tierce)
19 Ventôse An CCXXI, 0,4594h - cerfeuil
2013-W10-6T01:06:09Z
 

Pièces jointes

  • Plage glissante.xlsx
    54.3 KB · Affichages: 66

ROGER2327

XLDnaute Barbatruc
Re : pente et ordonnée origine sur plage variable

Re...


(...) c'est exactement sa que je voulais (...)
Chance !
Vous avez pu constater que DROITEREG et DECALER font bon ménage quoi qu'on en dise ici ou là.
Toutefois, la première mouture est très défectueuse. Pour aller vite, j'ai, par exemple et entre autres approximations, écrit
Code:
=MAX((A:A<>"")*LIGNE(A:A))-1
validé par Ctrl Maj Entrée en J1.
Cette formule fonctionne[SUP](1)[/SUP], mais est très dispendieuse de puissance de calcul. Il est préférable de limiter la plage à ce qui est nécessaire. En écrivant
Code:
=MAX((A$1:A$1001<>"")*LIGNE(A$1:A$1001))-LIGNE(A$1)
on pourra traiter plus rapidement jusqu'à mille lignes de données.
Si on sait qu'on n'aura jamais plus de 500 données
Code:
=MAX((A$1:A$501<>"")*LIGNE(A$1:A$501))-LIGNE(A$1)
sera suffisant et plus rapide.
Bien d'autres formules sont critiquables...

Par conséquent je joins deux autres modèles de classeur plus sérieusement écrits (mais certainement encore perfectibles !).

___________
[SUP](1)[/SUP]À ce propos, méfiez-vous des racontars : j'ai lu naguère, sur un site dont j'ai oublié la référence, que
Attention : on ne peut pas dans une formule matricielle faire référence à une ligne ou à une colonne entière.
La même fable m'a été servie il y a quelques années par un soi-disant formateur (rémunéré) lors de ce qui aurait dû être un stage de formation...


ROGER2327
#6505


Dimanche 15 Pédale 140 (Saints Adelphes, esotéristes - fête Suprême Tierce)
19 Ventôse An CCXXI, 4,7569h - cerfeuil
2013-W10-6T11:25:00Z
 

Pièces jointes

  • Plage glissante (v3).xlsx
    54.8 KB · Affichages: 35
  • Plage glissante (v4).xlsx
    57.2 KB · Affichages: 47
Dernière édition:

Misange

XLDnaute Barbatruc
Re : pente et ordonnée origine sur plage variable(résolu)

Bonjour Roger,
"quoi qu' "on" en dise, tout le monde peut se tromper... il faut effectivement transposer en plus de "droiterégressionner" et déclaer.
Bonne journée à toi également !
 

Statistiques des forums

Discussions
312 195
Messages
2 086 076
Membres
103 111
dernier inscrit
Eric68350