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 VBA - Contrainte SolverAdd


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    vagabond
    Inscrit en
    Octobre 2016
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : vagabond

    Informations forums :
    Inscription : Octobre 2016
    Messages : 24
    Par défaut Solver VBA - Contrainte SolverAdd
    Bonjour à tous,

    Je code un module qui comporte une partie Solver dont voici les lignes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SolverReset
    SolverOK SetCell:=Range("rng_vol"), MaxMinVal:=2, ByChange:=Range("rng_weight")
    SolverAdd CellRef:=Range("rng_sum"), Relation:=2, FormulaText:=1
    SolverAdd CellRef:=Range("rng_ret"), Relation:=3, FormulaText:=Range("rng_target")
    SolverOptions AssumeNonNeg:=True
    SolverSolve userfinish:=True
    Mon problème est que la 1ère contraitne, celle sur la cellule rng_sum, n'est pas prise en compte. Quand je vais manuellement dans le Solver après avoir lancé mon code, la 2ème contrainte apparaît bien, mais pas la 1ère... Et si je l'ajoute à la main (cellule rng_sum = 1), elle est bien prise en compte et le Solver fonctionne comme je le souhaite.

    Merci si vous pouvez m'éclairer,

    Clément

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Salut,

    je suis tres etonne, je n'arrive pas a repliquer ton erreur de mon cote

    A toutes fins utiles
    http://jpcheck.developpez.com/tutori...ur-sous-excel/
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre averti
    Homme Profil pro
    vagabond
    Inscrit en
    Octobre 2016
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : vagabond

    Informations forums :
    Inscription : Octobre 2016
    Messages : 24
    Par défaut
    Le mystère reste entier...

    Pour ceux que ça intéresse, j'ai résolu le problème en prenant le code de l'enregistreur de macro:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SolverOk SetCell:="$E$11", MaxMinVal:=2, ValueOf:=0, ByChange:="$B$2:$AH$2", _
        Engine:=1, EngineDesc:="GRG Nonlinear"
    SolverAdd CellRef:="$D$11", Relation:=3, FormulaText:="rng_target"
    SolverOk SetCell:="$E$11", MaxMinVal:=2, ValueOf:=0, ByChange:="$B$2:$AH$2", _
        Engine:=1, EngineDesc:="GRG Nonlinear"
    SolverAdd CellRef:="$B$5", Relation:=2, FormulaText:="1"
    SolverSolve

Discussions similaires

  1. Lancer une macro entre chaque itérations du solver VBA
    Par grimgort dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/01/2016, 22h04
  2. Solver "VBA" à activer
    Par erlerwade dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/05/2013, 15h07
  3. Solver & VBA
    Par Magic_Doctor dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 31/05/2010, 22h40
  4. Pb de contrainte avec le solver
    Par DoM P dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/07/2007, 13h43
  5. [VBA] remplir un tableau suivant certaines contraintes
    Par perophron dans le forum Général VBA
    Réponses: 11
    Dernier message: 02/05/2007, 10h30

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