IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Trouver solution par dichotomie


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Consultant MOA
    Inscrit en
    Septembre 2015
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant MOA
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2015
    Messages : 77
    Par défaut Trouver solution par dichotomie
    Bonjour,

    je vous explique le problème :
    j'ai un taux qui se trouve dans une cellule A1
    J'ai une cellule A2 qui contient une formule assez complexe en fonction du taux se trouvant dans A1 (Impossible de modéliser cette fonction dans Excel)
    La cellule A3 contient un montant fixe.
    La cellule A4 = A3-A2

    Le but étant de faire varier le taux dans A1 de telle sorte que l'écart A3-A2 soit proche de zéro.

    Mon but c'est de trouver le taux dans A1 optimum.

    Une idée ?

    j'ai trouvé un code sur internet, j'ai essayé de l'adapter mais en vain

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Sub Trouver_Taux_Par_Dichotomie()
    Dim a As Double, b As Double
    Dim RaE, Etalcumul As Double
     
    Dim m As Double, epsilon As Double
     
    RaE = ThisWorkbook.Worksheets("Cas écheances constantes Q").Range("H3").Value
    Etalcumul = ThisWorkbook.Worksheets("Cas écheances constantes Q").Range("N1749").Value
     
    epsilon = 0.00001
    a = 4
    b = 5
    Do While (b - a) > epsilon
    m = (a + b) / 2
    If f(m) = 0 Then Exit Do
    If ((f(a) * f(m)) > 0) Then
    a = m
    Else
    b = m
    End If
    Loop
    MsgBox m
    End Sub
    Le fonction utilisée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Function f(x As Double) As Double
    f = RaE - Etalcumul
    End Function
    Je vous remercie par avance.

    Cordialement,

  2. #2
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 681
    Par défaut
    Bonjour,

    Citation Envoyé par Freudsw Voir le message
    J'ai une cellule A2 qui contient une formule assez complexe en fonction du taux se trouvant dans A1 (Impossible de modéliser cette fonction dans Excel)
    Comment peux-tu avoir une formule en A2 qui soit impossible à modéliser en Excel ?

    Sans plus d'information sur cette fonction, c'est difficile de t'aider la dichotomie n'étant pas adaptée à toutes les fonctions.

    Sinon Excel dispose d'un solveur, dans la version 2010 il est dans l'onglet Données -> Analyse scénarios -> valeur cible

  3. #3
    Membre confirmé
    Homme Profil pro
    Consultant MOA
    Inscrit en
    Septembre 2015
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant MOA
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2015
    Messages : 77
    Par défaut
    Bonjour,

    Merci pour ta réponse.

    La formule est un peu compliqué car, elle reprend à chaque fois un résultat d'une autre cellule.

    Cependant, avec Solver c'est possible de gérer mon problème.

    Merci bcp en tout cas.

    Cordialement,

Discussions similaires

  1. [Débutant] Trouver une racine par dichotomie
    Par Wenneguen dans le forum MATLAB
    Réponses: 1
    Dernier message: 14/12/2014, 18h53
  2. Opération par dichotomie
    Par Anduriel dans le forum Langage
    Réponses: 2
    Dernier message: 24/08/2009, 14h41
  3. Réponses: 3
    Dernier message: 25/01/2008, 23h14
  4. liste biderctionelle ou tri par dichotomie
    Par abdoue2004 dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 18/03/2007, 13h50
  5. Comment trouver Epsilon(par calcul)
    Par DeViLGoRe dans le forum C
    Réponses: 2
    Dernier message: 31/12/2006, 16h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo