Trouver coordonnées sur courbe de tendance [Résolu]

Messages postés
7
Date d'inscription
mardi 21 février 2012
Statut
Membre
Dernière intervention
22 février 2012
- - Dernière réponse : CerberusPau
Messages postés
377
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
22 août 2018
- 22 févr. 2012 à 17:47
Bojour à tous et toutes,

Je viens de m'inscrire sur les conseils de mon frère qui veut que je me jette à l'eau.

J'espère déjà que je suis au bon endroit pour ma première immersion.

Voilà. Dans Excel 2003, j'ai des données qui permettent de construire une courbe de tendance exponentielle dans un grapphique.

Je voudrais pouvoir récupérer l'abcisse d'un point sur la courbe de tendance tracée par Excel, pour une valeur donnée de son ordonnée.

Pour le moment j'ai donc des plages avec mes données, et un graphique dans la feuille qui les contient.

Je ne vous demande pas la solution, mais par où commencer.
Etant complètement novice, j'utilise l'éditeur de macro et l'aide.

Merci beaucoup de vos conseils.

DomDom
Afficher la suite 

17 réponses

Meilleure réponse
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
214
3
Merci
Bonjour,
J'ignore totalement pourquoi tu commences par une chaîne de caractères à traiter ensuite au lieu de 3 textboxes d'entrée de jeu, ce qui permettrait de ne pas avoir à saisir "x2" & "x" à chaque fois.
Mais c'est ton affaire, chistera.
Alors voilà :
Private Sub CommandButton1_Click()
  Dim toto As String, a As Double, b As Double, c As Double
  toto = "0,0018x2-0,1414x+2,7"
  a = extrait(toto, "x2")
  b = extrait(toto, "x")
  c = toto
  MsgBox a & vbCrLf & b & vbCrLf & c
End Sub
Private Function extrait(ByRef toto As String, ByVal sep As String) As Double
  Dim pos As Integer
  pos = InStr(toto, sep)
  extrait = CDbl(Mid(toto, 1, pos - 1))
  toto = Mid(toto, pos + Len(sep))
End Function




____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 210 internautes nous ont dit merci ce mois-ci

Commenter la réponse de ucfoutu
Messages postés
7
Date d'inscription
mardi 21 février 2012
Statut
Membre
Dernière intervention
22 février 2012
0
Merci
Bonjour,

Désolé: Je commence mal: C'est une courbe polynomiale d'ordre 2 et non pas exponetielle

Cordialement
DomDom
Commenter la réponse de Xistera
Messages postés
7
Date d'inscription
mardi 21 février 2012
Statut
Membre
Dernière intervention
22 février 2012
0
Merci
Bonjour,

J'ai compris qu'il fallait d'abord "récupérer" la formule de l'équation générée par Excel à partir de l'étiquette "afficher l'équation sur le grapphique"

Voici ma feuille de travail :

En colonne A6 à A8: 3 valeurs de Y : 2,70 ; 2,43 ; 1,47
En colonne B6 à B8: 3 valeurs de X : 0,00 ; 1,96 ; 10,00

Equation donnée par l'étiquette : y = 0,0018x² - 0,1414x + 2,7

Je dois la récupérer de façon exploitable par un traitement de chaîne.

Je pense y arriver en continuant de chercher, mais mon soucis, c'est de trouver x pour une valeur connue de y, pour réécrire la formule correctement (x=...).

Un aide serait bien venue en ce sens.

Merci d'avance.

Cordialement
DomDom
Commenter la réponse de Xistera
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
214
0
Merci
Bonjour,
c'est tout "simplement" la résolution d'une équation de type :
y = ax² + bx + c
qui peut avoir aussi bien, dans le domaine REEL, deux solutions, ou aucune !
Car, dans cette équation, et si, comme tu le dis, tu connais Y,
cela reviens à rechercher les solutions de x pour que le résultat de l'équation soit égal à 0
Problème d'algèbre, donc, avant d'être un problème de code !
Reprends donc tes cours de seconde (commence par calculer le déterminant b² - 4ac). s'il est négatif === >> aucune solution dans R puisque la racine carré d'un nombre négatif ne saurait être un réel.
Algèbre, donc, d'abord !

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
214
0
Merci
car dans ton cas (puisque tu connais y, dis-tu) :
soit y = petitbasque
y = ax²+bx+c devient
0 = ax² + bx + c - petibasque
et du dois chercher les valeurs de x dans R telles que ax² + bx + c - petibasque ait pour résultat 0).
Algèbre, non ?


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
214
0
Merci
Même wikikiki t'en donne la méthode :
Tapez le texte de l'url ici.
tu y retrouveras le déterminant b² - 4ac, bien évidemment.
Bonne ré-étude de l'algèbre de seconde.



____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Commenter la réponse de ucfoutu
Messages postés
7
Date d'inscription
mardi 21 février 2012
Statut
Membre
Dernière intervention
22 février 2012
0
Merci
Bonsoir ucfoutu,

Oh! Que c'est loin tout ça...
De mémoire Delta = B² - 4ac etc...
Tu as raison, je rouvre mon livre de seconde!

Par ailleurs, je butte sur mon traitement de chaîne sur le dernier pas de la boucle pour obtenir: "...*Bi^2".

For i = 6 To 8
c = "B" & i ' ma cellule où je veux copier Chaine
'(...)
Chaine = Replace(Chaine, "x2", "*" & c &  "^2")
'(...)
Next

Chaine ne prend pas en compte "^", donc la mise au carré dans la formule copiée en Bi n'est pas faite.

Cordialement
DomDom
Commenter la réponse de Xistera
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
214
0
Merci
De quoi et en quoi parles-tu là ? De baguettes et en chinois ?
Explique clairement et avec précision cette démarche-là !



____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
214
0
Merci
Quant à :
Oh! Que c'est loin tout ça...

bizarre ... et cela veut probablement dire que même plus jeune ...
Tu sais quoi ? ===>> non seulement je sais encore nager, par exemple, mais je suis prêt à accepter un défi en natation (pas avec toi, mais avec ton fils, si tu en as un à disposition). Et regarde mon âge (et je ne triche jamais).


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Commenter la réponse de ucfoutu
Messages postés
377
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
22 août 2018
0
Merci
Ah!

Un petit basque!

Je ne fais jamais ça d'habitude, mais il faut une exception à tout.

Même à m'attirer les foudres, je ne résiste pas à l'appel d'un congénère.
Regarde et va au fichier joint "CopieTendance1.xls".

Ceci étant, ton livre de seconde te sera quand même indispensable...!

Adio
Rataxes64
Commenter la réponse de CerberusPau
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
214
0
Merci
Eh oui, CerberusPau, oui ...
Il y a des basques partout ! Y compris où je suis
Mais ils sont (nous sommes) en général bien plus dégourdis.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Commenter la réponse de ucfoutu
Messages postés
377
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
22 août 2018
0
Merci
Ucfoutu à raison,

Y a pas d'âge pour en manger, surtout quand tu es le plus jeune de nous 3 !

Et il a raison encore : Attention, il faut être précis ; D'accord tu as annoncé la couleur Excel2003 + Editeur de macro... mais je doute que l'éditeur te donne ce que tu écris.
C'est quoi tes déclarations par exemple ; tu pourrais quand même donner ta sub (ou private) complète, non?

Adio
Rataxes64
Commenter la réponse de CerberusPau
Messages postés
7
Date d'inscription
mardi 21 février 2012
Statut
Membre
Dernière intervention
22 février 2012
0
Merci
Merci beaucoup, ucfoutu
Milesker anitz, CerberusPau

Le lien est exactement ce que je cherchais.

Promis, à l'avenir je serai plus précis.

Cordialement
adiskideki
DomDom
Commenter la réponse de Xistera
Messages postés
7
Date d'inscription
mardi 21 février 2012
Statut
Membre
Dernière intervention
22 février 2012
0
Merci
Bonsoir,

J'ai été un peu présomptueux avec "Réponse acceptée"...

Si j'ai résolu à extraire mes valeurs de x (quand même!), je ne me sors pas de la manipulation de la chaîne de caractères pour récupérer les valeurs a , b et c dans l'équation.

Voila la méthode que je veux conduire :
Exemple avec 0,0018x2-0,1414x+2,7 pour récupérer
a= 0,0018
b= -0,014
c= 2,7

1) Pour a : garder les caractères situés avant x2
(0,0018)
2) Puis, les supprimer
(-0,1414x+2,7)
3) Pour c : garder les caractères situés après x
(+2,7)
4) Puis, les supprimer
(-0,1414x)
5) pour b : supprimer x (dernier caractère) => ça c'est OK
(-0,1414

J'ai essayé avec Len, Replace et Mid, mais je n'y arrive pas (sauf en 5).

Merci d'un coup de main
DomDom
Commenter la réponse de Xistera
Messages postés
377
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
22 août 2018
0
Merci
Bonsoir,

J'ai eu ce genre de difficulté que je n'ai pas su résoudre par un traitement de chaîne...

Je suis passé par convertir + espace puis des concanétations avec &.
Attention, ça pose des difficultés avec le signe moins... faire un *-1

C'est pas beau, mais ça marche.
Je te laisse à la limite de mes compétences...

Cordialement
Rataxes64
Commenter la réponse de CerberusPau
Messages postés
7
Date d'inscription
mardi 21 février 2012
Statut
Membre
Dernière intervention
22 février 2012
0
Merci
Bonjour,

Merci beaucoup ucfoutu.

Je ne comprends pas bien ce que tu veux dire :
ce qui permettrait de ne pas avoir à saisir "x2" & "x" à chaque fois

Je vais copier directement les résultats du (de ton!) traitement de chaîne dans des formules.

Donc ton code est pil poil ce dont j'avais besoin.
Il me reste à bien le comprendre...!

Cette fois-ci "Reponse acceptée", sans problème.

Au plaisir.
DomDom
Commenter la réponse de Xistera
Messages postés
377
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
22 août 2018
0
Merci
Bonjour,

Moi aussi, je te remercie, ucfoutu, c'est quelquechose qui va m'être TRES utile!

Cordialement
Rataxes64
Commenter la réponse de CerberusPau