Trouver coordonnées sur courbe de tendance

Résolu
Xistera Messages postés 7 Date d'inscription mardi 21 février 2012 Statut Membre Dernière intervention 22 février 2012 - 21 févr. 2012 à 17:28
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

17 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 223
22 févr. 2012 à 07:12
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
3
Xistera Messages postés 7 Date d'inscription mardi 21 février 2012 Statut Membre Dernière intervention 22 février 2012
21 févr. 2012 à 18:16
Bonjour,

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

Cordialement
DomDom
0
Xistera Messages postés 7 Date d'inscription mardi 21 février 2012 Statut Membre Dernière intervention 22 février 2012
21 févr. 2012 à 20:12
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
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 223
21 févr. 2012 à 20:38
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 223
21 févr. 2012 à 20:45
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
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 223
21 févr. 2012 à 20:53
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
0
Xistera Messages postés 7 Date d'inscription mardi 21 février 2012 Statut Membre Dernière intervention 22 février 2012
21 févr. 2012 à 20:58
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
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 223
21 févr. 2012 à 21:02
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
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 223
21 févr. 2012 à 21:09
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
0
CerberusPau Messages postés 377 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 22 août 2018 1
21 févr. 2012 à 21:13
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
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 223
21 févr. 2012 à 21:16
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
0
CerberusPau Messages postés 377 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 22 août 2018 1
21 févr. 2012 à 21:20
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
0
Xistera Messages postés 7 Date d'inscription mardi 21 février 2012 Statut Membre Dernière intervention 22 février 2012
21 févr. 2012 à 21:36
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
0
Xistera Messages postés 7 Date d'inscription mardi 21 février 2012 Statut Membre Dernière intervention 22 février 2012
21 févr. 2012 à 23:49
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
0
CerberusPau Messages postés 377 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 22 août 2018 1
22 févr. 2012 à 00:00
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
0
Xistera Messages postés 7 Date d'inscription mardi 21 février 2012 Statut Membre Dernière intervention 22 février 2012
22 févr. 2012 à 13:40
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
0
CerberusPau Messages postés 377 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 22 août 2018 1
22 févr. 2012 à 17:47
Bonjour,

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

Cordialement
Rataxes64
0
Rejoignez-nous