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 :

Macro avec solveur appliquée à une colonne de valeurs


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2014
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Macro avec solveur appliquée à une colonne de valeurs
    Bonjour à tous,
    Je vous explique mon problème ...
    M3 est mon "objectif à définir" qui doit être "min". L3 est ma cellule variable avec comme contraintes L3<=0.99999 et L3>=0.00001.
    mais je dois répéter cela de la ligne 3 à la ligne 400 ! impossible manuellement et je n'arrive pas à écrire une macro avec une répétition ...


    Pour une seule ligne j'ai cela. comment l'appliquer au 400 autres lignes?

    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
    Sub solveur()
    '
    ' solveur Macro
    '
     
    '
        SolverOk SetCell:="$M$3", MaxMinVal:=2, ValueOf:=0, ByChange:="$L$3", Engine:=1 _
            , EngineDesc:="GRG Nonlinear"
        SolverAdd CellRef:="$L$3", Relation:=1, FormulaText:="0,99999"
        SolverOk SetCell:="$M$3", MaxMinVal:=2, ValueOf:=0, ByChange:="$L$3", Engine:=1 _
            , EngineDesc:="GRG Nonlinear"
        SolverAdd CellRef:="$L$3", Relation:=3, FormulaText:="0,00001"
        SolverOk SetCell:="$M$3", MaxMinVal:=2, ValueOf:=0, ByChange:="$L$3", Engine:=1 _
            , EngineDesc:="GRG Nonlinear"
        SolverOk SetCell:="$M$3", MaxMinVal:=2, ValueOf:=0, ByChange:="$L$3", Engine:=1 _
            , EngineDesc:="GRG Nonlinear"
        SolverSolve
    End Sub
    Merci pour votre aide

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Je n'ai jamais utilisé le solver en VBA mais puisque, à priori, les paramètres sont de simples chaines de caractères, je suppose qu'un boucle suffirait.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim Lig As Long
    For Lig = 3 To 402
        SolverOk SetCell:="$M$" & Lig, MaxMinVal:=2, ValueOf:=0, ByChange:="$L$" & Lig, Engine:=1, EngineDesc:="GRG Nonlinear"
        SolverAdd CellRef:="$L$" & Lig, Relation:=1, FormulaText:="0,99999"
        SolverOk SetCell:="$M$" & Lig, MaxMinVal:=2, ValueOf:=0, ByChange:="$L$" & Lig, Engine:=1, EngineDesc:="GRG Nonlinear"
        SolverAdd CellRef:="$L$" & Lig, Relation:=3, FormulaText:="0,00001"
        SolverOk SetCell:="$M$" & Lig, MaxMinVal:=2, ValueOf:=0, ByChange:="$L$" & Lig, Engine:=1, EngineDesc:="GRG Nonlinear"
        SolverOk SetCell:="$M$" & Lig, MaxMinVal:=2, ValueOf:=0, ByChange:="$L$" & Lig, Engine:=1, EngineDesc:="GRG Nonlinear"
        SolverSolve
    Next Lig

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2014
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    je teste immédiatement ! merci beaucoup

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2014
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    J'ai lancé la macro ... mais petit probleme... je dois cliquer 400 fois sur OK ahahha
    Nom : Sans titre.png
Affichages : 559
Taille : 223,2 Ko

Discussions similaires

  1. [XL-2003] Macro liaison entre 3 feuilles avec condition d'une colonne
    Par siniat13 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 05/03/2013, 21h03
  2. [XL-2010] Macros IF THEN appliqué à une colonne
    Par nicobezyeh dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 13/12/2011, 11h23
  3. [XL-2003] Macro avec boucle sur une colonne et condition sur une autre
    Par Isabelle86 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 27/10/2010, 11h31
  4. [XL-2007] Incrementer des feuilles avec le nom des lignes d'une colonne + copie valeurs
    Par re dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 13/10/2010, 16h15
  5. Réponses: 7
    Dernier message: 23/11/2009, 16h59

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