Solveur

tamatave33

XLDnaute Occasionnel
Bonjour à toutes et à tous,

Pour mon travail je dois trouver la solution d'une équation de la forme xLN(x)+ax = b.
a et b sont connus.
Je dois faire varier a et b et trouver x à chaque fois.
Voici un exemple :
42.9 x LN(x) + 111.277 x + 0.572 = 0
La solution étant x = ~ 0.06
On m'a dit que je peux résoudre cette équation directement avec Excel en utilisant Solveur avec une macro.
Quelqu'un peut-il m'en dire plus, car j'avoue que cela ne me parle pas beaucoup.
J'utilise Excel 2003 et j'ai déjà installé Solveur, mais je ne sais pas comment m'en servir.
Je vous remercie pour votre aide.
 

mécano41

XLDnaute Accro
Re : Solveur

Bonjour,

A tout hasard, car je ne vois pas la correspondance entre l'équation et l'exemple fourni...42.9 x...

Voici une appli. utilisant le solveur en VBA (ALT+F11 pour voir le code)

Il faut activer les macros. Le fichier est protégé mais sans mot de passe.

Les cellules de la feuille sont nommées. La modification de l'une des cellules jaunes lance le solveur. J'ai mis une contrainte X>= 0,000001 pour éviter une erreur.

A toutes fins utiles, j'ai ajouté un second fichier avec les instructions pour le cas ou le solveur ne serait pas installé...

Regarde si cela fonctionne chez toi...

Cordialement
 

Pièces jointes

  • Essai solv 1.xls
    38 KB · Affichages: 44
  • Utilisation du solveur par VBA.xls
    25 KB · Affichages: 36

tamatave33

XLDnaute Occasionnel
Re : Solveur

Bonjour,

Merci pour ton aide, mais j'ai un petit problème, lorsque je modifie les cellules jaunes, j'ai le message suivant : "erreur de compilation. projet ou bibliothèque introuvable".
J'ai bien installé le solveur comme indiqué dans le fichier joint à ta réponse.
Peux-tu me dire comment je dois procéder.
Merci.
 

mécano41

XLDnaute Accro
Re : Solveur

Tu as bien fait ensuite :

- ALT+F11 pour aller dans le VBE (environnement de travail du VBA)
- coché la case "Solver" dans le menu Outils/Références

Il serait bon que quelqu'un ayant encore XL2003 vérifie car je suis sous XL2010 et ma mémoire...hum...

Cordialement
 

mécano41

XLDnaute Accro
Re : Solveur

Bonjour,

Sinon, voici une autre solution n'utilisant pas le solveur mais une recherche dichotomique de la racine...

(toujours avec du code VBA donc autoriser les macros)

Cordialement
 

Pièces jointes

  • Résol Dichotomique 1.xls
    39.5 KB · Affichages: 45

job75

XLDnaute Barbatruc
Re : Solveur

Bonjour tamatave33, salut mécano41,

Pas besoin du Solveur, la commande Valeur cible suffit.

Le VBA est très superflu, mais si l'on y tient utiliser l'enregistreur de macro pour créer le code.

Fichier joint.

A+
 

Pièces jointes

  • Valeur cible(1).xls
    23.5 KB · Affichages: 46
  • Valeur cible(1).xls
    23.5 KB · Affichages: 58
  • Valeur cible(1).xls
    23.5 KB · Affichages: 50

ROGER2327

XLDnaute Barbatruc
Re : Solveur

Bonjour à tous.


Comme l'équation proposée possède souvent deux solutions, voici une proposition employant des moyens superflus.
(Proposition non testée avec Excel2003)​


Bonne soirée.


ℝOGER2327
#7686


Dimanche 15 As 142 (Navigation du Dr Faustroll - fête Suprême Première seconde)
27 Brumaire An CCXXIII, 7,1131h - macjon
2014-W47-1T17:04:17Z
 

Pièces jointes

  • dichotomie2.xlsm
    25 KB · Affichages: 40
  • dichotomie2.xls
    64.5 KB · Affichages: 35

mécano41

XLDnaute Accro
Re : Solveur

Bonsoir à tous,

Bonjour tamatave33, salut mécano41,

Pas besoin du Solveur, la commande Valeur cible suffit.


C'est possible mais je ne me sers jamais de valeur cible...:D

En revanche, j'ai utilisé l'équation xLN(x)+ax = b et non l'autre (Tamatave n'a pas dit laquelle des deux est la bonne, comme je l'avais demandé!) et si je la mets dans ton fichier, cela tourne sans résultat... mais peut-être ne l'ai-je pas bien fait...


Le VBA est très superflu, mais si l'on y tient utiliser l'enregistreur de macro pour créer le code.

Le VBA n'est pas spécialement nécessaire pour le calcul mais pour l'automatisation au changement de valeur...j'imaginais même qu'il faudrait peut-être traiter ensuite un tableau des coeff. a et b ; voilà la raison...

Cordialement
 

job75

XLDnaute Barbatruc
Re : Solveur

Re,

Pardon, j'avais mal lu, il manquait un "x" dans mon équation.

C'est donc l'intersection d'une hyperbole et de la courbe logarithme.

Fichier (2), le résultat est proche de 0,06 comme indiqué au post #1.

A+
 

Pièces jointes

  • Valeur cible(2).xls
    23.5 KB · Affichages: 30
  • Valeur cible(2).xls
    23.5 KB · Affichages: 34
  • Valeur cible(2).xls
    23.5 KB · Affichages: 40

tamatave33

XLDnaute Occasionnel
Re : Solveur

Bonjour job75,

Merci beaucoup, j'avais corrigé l'erreur dans le premier fichier et le résultat était correct.
Pouvez-vous me donner la solution pour que ce calcul se fasse automatiquement lorsqu'on change les termes a, b et c de l'équation :
a*x*ln(x)+b*x+c = 0.
Dans l'exemple on a :
a = 42.9
b = 111.277
c = 0.572.

Merci encore pour votre aide.
 

job75

XLDnaute Barbatruc
Re : Solveur

Re,

Pour faire de nombreux calculs bien sûr utiliser VBA.

La macro dans le code de la feuille (clic droit sur l'onglet et Visualiser le code) :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [E3:G3]) Is Nothing Then _
  [C4].GoalSeek Goal:=0, ChangingCell:=[C8]
End Sub
Fichier (3).

A+
 

Pièces jointes

  • Valeur cible(3).xls
    36 KB · Affichages: 34
  • Valeur cible(3).xls
    36 KB · Affichages: 45
  • Valeur cible(3).xls
    36 KB · Affichages: 45

ROGER2327

XLDnaute Barbatruc
Re : Solveur

Bonsoir à tous.


Bis repetita...


Bonne nuit.


ℝOGER2327
#7688


Dimanche 15 As 142 (Navigation du Dr Faustroll - fête Suprême Première seconde)
27 Brumaire An CCXXIII, 9,0735h - macjon
2014-W47-1T21:46:35Z
 

Pièces jointes

  • dichotomie3.xlsm
    26.7 KB · Affichages: 50
  • dichotomie3.xls
    75 KB · Affichages: 42
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 361
Messages
2 087 626
Membres
103 608
dernier inscrit
rawane