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 :

Solver en VBA [XL-2016]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Août 2018
    Messages : 5
    Par défaut Solver en VBA
    Bonjour à tous,

    Je suis en train de coder un programme en VBA pour optimiser un portefeuille d'actions financières. Jusque-là tout va bien.
    Mon problème se situe au niveau du solveur. En effet, il ne prend en compte que des valeurs avec des formules. Malheureusement pour moi, j'utilise des formules sous vba et non pas directement avec Excel, ce qui a pour conséquence de remplir les cellules avec le résultats du code VBA et non pas les formules elles-mêmes.

    Vous me direz sûrement de mettre les formules sous Excel mais si je n'ai pas le même nombre de données (par exemple si je rajoute une action à mon portefeuille ou si je veux regarder les variations sur une plus longue période), il faudrait alors modifier ces formules, voire même les changer les cellules où se trouvent ces formules.

    Je suis pour l'instant dans l'impasse face à cette situation (qui je l'espère est claire pour vous). N'hésitez pas à me demander si vous voulez plus d'informations ou si je n'ai pas été clair.

    Merci,
    Juniclem

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 266
    Par défaut
    Bonjour,

    S'il n'a aucune formule comment veux-tu qu'il évalue une solution ? C'est pareil que si tu ne lui donnes pas de cellule variable, il n'a plus de boulot...
    Il lui en faut au moins une : celle de la cible à atteindre.
    eric

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Août 2018
    Messages : 5
    Par défaut
    Bonsoir Eric,

    Tout d'abord merci de votre réponse.
    J'ai bien compris que le solveur a besoin de formules, mais du coup mon problème est de savoir comment (si c'est possible) je peux remplir mes cellules tout en utilisant VBA pour pouvoir ensuite appliquer le solveur sur mes données.

    Clément

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Je pense que le Solver fonctionne principalement par itération, tu peux donc te créer une fonction en VBA pour remplacer le Solver.
    Je n'ai aucune connaissance en financier mais si tu donnes un exemple de ce que tu désires avec les valeurs de départ et la ou les valeurs à atteindre, il y aura sûrement ici quelqu'un qui aura ces connaissances pour t'aider à créer cette fonction !

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Août 2018
    Messages : 5
    Par défaut
    Pourquoi pas essayer cette méthode mais dans ce cas-là il faut que j'arrive à parcourir un tableau à n (nombre d'actions de mon portefeuilles) dimensions.

    Pour être plus précis je dois calculer la rentabilité et la volatilité de mon portefeuille (c'est pas la le plus dur) pour chaque combinaison possible (c'est là que ça se complique).
    Par exemple avec 3 actions possibles :
    Portefeuille 1 : Action A 100%, Action B 0%, Action C 0%
    Portefeuille 2 : Action A 99%, Action B 1%, Action C 0%
    Portefeuille 3 : Action A 98%, Action B 1%, Action C 1%
    ....

    J'imagine qu'imbriquer des boucles for est la solution mais cela me parait très lourd comme code si j'arrive à une 10-15 actions possibles. De plus je ne saurai pas trop comment faire pour imbriquer n boucles for sachant que n peut changer mais que mon code VBA lui ne doit pas changer.


    Si vous avez une idée je suis preneur car mes compétences de programmation ne sont pas aussi poussé que çà !

    Merci de votre aide

  6. #6
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Le Solver est un programme d'optimisation sous contraintes, basé sur la programmation linéaire. Et tu dois définir chaque contrainte sous la forme d'une inéquation. À ce que je sache (si cela n'a pas changé ces dernières années), l'algorithme est dérivé du traditionnel algorithme du simplexe. Mais si tu n'as pas de notion de programmation linéaire, commence par cela. Une fois que tu auras les notions requises, tu pourras établir ton modèle pour utiliser le Solver.

    https://fr.wikipedia.org/wiki/Algorithme_du_simplexe

    https://www.solver.com/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utilisation du solver en VBA
    Par ababi dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 02/04/2014, 03h51
  2. Utilisation Solver via VBA
    Par bol45 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/03/2014, 10h47
  3. Solver et VBA
    Par zeblln dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/03/2012, 13h10
  4. Excel 2007 - Utilisation du solver en VBA
    Par Martin_F dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 02/10/2008, 18h28

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