Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion equation
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

E

equation

Guest
a fermer
Merci.
 
Dernière modification par un modérateur:
Re : Extraction de coefficients d'une équation du second degré

Bonsoir equation


Demande originale...

L'équation étant en A2, pour a :
Code:
=CNUM(SI(ESTERR(CHERCHE("x²";A2));0;SI(CHERCHE("x²";A2)=1;1;SI(ESTNUM(GAUCHE(A2;CHERCHE("x²";A2)-1)+0);GAUCHE(A2;CHERCHE("x²";A2)-1);GAUCHE(A2;CHERCHE("x²";A2)-1)&1))))
pour b :
Code:
=CNUM(SI(ESTERR(CHERCHE("x";SI(ESTERR(CHERCHE("x²";A2));A2;SI(NBCAR(A2)-CHERCHE("x²";A2)=1;0;DROITE(A2;NBCAR(A2)-CHERCHE("x²";A2)-1)))));0;SI(ESTNUM(GAUCHE(SI(ESTERR(CHERCHE("x²";A2));A2;SI(NBCAR(A2)-CHERCHE("x²";A2)=1;0;DROITE(A2;NBCAR(A2)-CHERCHE("x²";A2)-1)));CHERCHE("x";SI(ESTERR(CHERCHE("x²";A2));A2;SI(NBCAR(A2)-CHERCHE("x²";A2)=1;0;DROITE(A2;NBCAR(A2)-CHERCHE("x²";A2)-1))))-1)+0);GAUCHE(SI(ESTERR(CHERCHE("x²";A2));A2;SI(NBCAR(A2)-CHERCHE("x²";A2)=1;0;DROITE(A2;NBCAR(A2)-CHERCHE("x²";A2)-1)));CHERCHE("x";SI(ESTERR(CHERCHE("x²";A2));A2;SI(NBCAR(A2)-CHERCHE("x²";A2)=1;0;DROITE(A2;NBCAR(A2)-CHERCHE("x²";A2)-1))))-1);GAUCHE(SI(ESTERR(CHERCHE("x²";A2));A2;SI(NBCAR(A2)-CHERCHE("x²";A2)=1;0;DROITE(A2;NBCAR(A2)-CHERCHE("x²";A2)-1)));CHERCHE("x";SI(ESTERR(CHERCHE("x²";A2));A2;SI(NBCAR(A2)-CHERCHE("x²";A2)=1;0;DROITE(A2;NBCAR(A2)-CHERCHE("x²";A2)-1))))-1)&1)))
pour c :
Code:
=CNUM(SI(ESTERR(CHERCHE("x";SI(ESTERR(CHERCHE("x²";A2));A2;SI(NBCAR(A2)-CHERCHE("x²";A2)=1;0;DROITE(A2;NBCAR(A2)-CHERCHE("x²";A2)-1)))));SI(ESTERR(CHERCHE("x²";A2));A2;SI(NBCAR(A2)-CHERCHE("x²";A2)=1;0;DROITE(A2;NBCAR(A2)-CHERCHE("x²";A2)-1)));SI(NBCAR(SI(ESTERR(CHERCHE("x²";A2));A2;SI(NBCAR(A2)-CHERCHE("x²";A2)=1;0;DROITE(A2;NBCAR(A2)-CHERCHE("x²";A2)-1))))-CHERCHE("x";SI(ESTERR(CHERCHE("x²";A2));A2;SI(NBCAR(A2)-CHERCHE("x²";A2)=1;0;DROITE(A2;NBCAR(A2)-CHERCHE("x²";A2)-1))));DROITE(SI(ESTERR(CHERCHE("x²";A2));A2;SI(NBCAR(A2)-CHERCHE("x²";A2)=1;0;DROITE(A2;NBCAR(A2)-CHERCHE("x²";A2)-1)));NBCAR(SI(ESTERR(CHERCHE("x²";A2));A2;SI(NBCAR(A2)-CHERCHE("x²";A2)=1;0;DROITE(A2;NBCAR(A2)-CHERCHE("x²";A2)-1))))-CHERCHE("x";SI(ESTERR(CHERCHE("x²";A2));A2;SI(NBCAR(A2)-CHERCHE("x²";A2)=1;0;DROITE(A2;NBCAR(A2)-CHERCHE("x²";A2)-1)))));0)))
Amusant !​


ROGER2327
#5867


Dimanche 22 Palotin 139 (Saints Palotins des Phynances - fête Suprême Seconde)
22 Floréal An CCXX, 9,6989h - fritillaire
2012-W19-5T23:16:39Z
 

Pièces jointes

Re : Extraction de coefficients d'une équation du second degré

Merci, mais c'est incompréhensible 😕
Je ne connais pas toutes ces fonctions et comment les utiliser à ma sauce.
 
Re : Extraction de coefficients d'une équation du second degré

Bonjour equation, Roger, le Forum,

@ Roger :
Effectivement c'est amusant.

@ equation :
Et comme ça m'amuse également, je te propose une autre solution avec 3 fonctions personnalisées.
A toi de voir ce qui te convient.

Cordialement.
 

Pièces jointes

Re : Extraction de coefficients d'une équation du second degré

Bonjour à tous,

Quelle formule! Roger, à vouloir tant mettre CHERCHE(), il faudra aussi qu'elle TROUVE() (mais ça je n'en doute pas!!!) Amusant !

A+
 
Re : Extraction de coefficients d'une équation du second degré

Bonjour à tous.

Incroyable et extraordinaire Roger ! Un vrai et pur génie comme on les aime sur le forum.
Sinon, plus simple (à mon niveau, quoi...) en pièce jointe.

A plus.
 

Pièces jointes

Re : Extraction de coefficients d'une équation du second degré

Bonjour à tous,
Bonjour Jean-Bernard,

Sauf mauvaise interprétation de ma part, notre ami equation cherche à récupérer les valeurs des variables a, b et c et non à résoudre l'équation. C'est d'ailleurs ce que font les formules alambiquées de Roger, à qui je tire mon chapeau.

Bon WE.

Cordialement.
 
Re : Extraction de coefficients d'une équation du second degré

Oui Voila Papou-net.
Merci à vous tous.
La formule de Roger est trop longue est trop compliqué, dommage.
 
Dernière modification par un modérateur:
Re : Extraction de coefficients d'une équation du second degré

RE :

Désolé equation, je n'avais pas envisagé des valeurs négatives pour a, b et c.

Voilà qui est réparé.

NB : j'ai mis la cellule de formule au format Texte, car en cas de a négatif on obtenait un message d'erreur.

Cordialement.
 

Pièces jointes

Re : Extraction de coefficients d'une équation du second degré

Merci Papou, mais le problème c'est que chez moi ça met =EquA(A2) et ya pas la formule affichée. c'est normal ?
 
Re : Extraction de coefficients d'une équation du second degré

Merci Papou, mais le problème c'est que chez moi ça met =EquA(A2) et ya pas la formule affichée. c'est normal ?

Oui, c'est normal car c'est une fonction personnalisée que j'ai créée en VBA.

A partir de là, si tu te places dans une cellule et tu lances la commande Insertion ... Fonction et que tu sélectionnes Personnalisées, tu trouveras les 3 fonctions EquA, EquB et EquC.

Pour faire plis simple, tu écris dans n'importe quelle cellule :
Code:
=equa(a1)
et tu obtiendras la valeur de a. De même pour b (=equb(a1)) et c (=equc(a1)).

Et pis c'est tout.

Cordialement.
 
Re : Extraction de coefficients d'une équation du second degré

Re...

(...)
La formule de Roger est trop longue est trop compliqué, dommage.
Dommage. P'têt' ben qu'on peut les raccourcir. Mais je ne sais pas comment. P'têt ben qu'on peut suivre Papou-net et envisager une fonction personnalisée en VBA. En voici une autre, appliquée dans le classeur joint :​
VB:
Function Eq(x$)
Dim e, i%, c(2), p()
    If x <> "" Then
        p = Array("x²", "x")
        For i = 0 To 1
            If InStr(1, x, p(i)) Then
                e = Split(x, p(i))
                c(i) = e(0)
                If c(i) = "" Or c(i) = "+" Then
                    c(i) = 1
                ElseIf c(i) = "-" Then
                    c(i) = -1
                End If
                c(i) = c(i) + 0
                x = e(1)
            End If
        Next
        If x = "" Then c(2) = 0 Else c(2) = x
        c(2) = c(2) + 0
    Else
        c(0) = "": c(1) = "": c(2) = ""
    End If
    Eq = c
End Function
On récupère le résultat sous forme matricielle dans une plage de trois cellules contigües en ligne comme je l'ai fait dans le classeur joint, ou bien on récupère individuellement chaque coefficient comme suit : si l'équation est en B4, pour a :
Code:
=eq(B4)
ou
Code:
=INDEX(eq(B4);1)
pour b :
Code:
=INDEX(eq(B4);2)
pour c :
Code:
=INDEX(eq(B4);3)

P'têt ben que ce n'est pas trop compliqué.​


Bon courage.


ROGER2327
#5868


Lundi 23 Palotin 139 (Saints Quatrezoneilles, Herdanpo, Mousched - Gogh, Palotins - fête Suprême Quarte)
23 Floréal An CCXX, 6,4081h - bourrache
2012-W19-6T15:22:46Z
 

Pièces jointes

Re : Extraction de coefficients d'une équation du second degré

Suite...


À la relecture du code proposé plus haut, je corrige :​
VB:
Function Eq(x$)
Dim e, i%, c(), p()
    p = Array("x²", "x")
    ReDim c(UBound(p) + 1)
    If x <> "" Then
        For i = 0 To UBound(p)
            If InStr(1, x, p(i)) Then
                e = Split(x, p(i))
                c(i) = e(0)
                If c(i) = "" Or c(i) = "+" Then
                    c(i) = 1
                ElseIf c(i) = "-" Then
                    c(i) = -1
                End If
                c(i) = c(i) + 0
                x = e(1)
            End If
        Next
        If x = "" Then c(i) = 0 Else c(i) = x
        c(i) = c(i) + 0
    Else
        For i = 0 To UBound(c): c(i) = "": Next
    End If
    Eq = c
End Function
Cela ne change rien pour le problème proposé, mais ces modifications permettent l'adaptation rapide à des polynômes d'autres degrés.

Si l'on veut traiter des polynômes de degré 4 écrit sous la forme
Code:
ax^4+bx^3+cx^2+dx+e
pour obtenir les coefficients a, b, c, d et e, il suffit de remplacer
Code:
    p = Array("x²", "x")
par
Code:
    p = Array("x^4", "x^3", "x^2", "x")
tout le reste étant identique.
Reste à prouver l'utilité de telles manipulations...​


ROGER2327
#5870


Lundi 23 Palotin 139 (Saints Quatrezoneilles, Herdanpo, Mousched - Gogh, Palotins - fête Suprême Quarte)
23 Floréal An CCXX, 9,0195h - bourrache
2012-W19-6T21:38:48Z
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…