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 :

Utilisation du solveur Excel dans une macro


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Utilisation du solveur Excel dans une macro
    Bonjour,

    Quelqu'un connaîtrait-il la ligne de commande à mettre dans le script VBA suite à l'enregistrement d'une macro faisant appel à l'utilisation du solveur.
    Le code généré automatiquement par Excel (Solver (ok)) lors de l'enregistrement de la macro n'est pas bon. Merci d'avance.

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 147
    Points
    20 147
    Par défaut
    bonjour

    De mémoire il me semble qu'il existe un bug Microsoft.
    L'enregistreur de macro écrit solverOk, mais il faut le modifier manuellement par solvOk pour que ça fonctionne.
    idem pour SolverAdd par SolvAdd ... etc ...
    (non testé)


    bonne journée
    michel

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    J'ai fais la manip' proposée, malheureusement sans succès. C'est apparement plus bugger qu'on pourrait l'imaginer=> autres solutions possibles?

  4. #4
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Points : 2 416
    Points
    2 416
    Par défaut
    Bonjour,
    Bout de code trouvé sur Google qui peu t'aider sur la syntaxe
    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
    SolverReset
       SolverOptions precision:=0.005
     
          ' la typo est un entier
       SolverAdd CellRef:=Range("$AJ$" & rayonini & ":$AJ$" & taille), Relation:=4
          ' la typo est superieur ou egal a 1
       SolverAdd CellRef:=Range("$AJ$" & rayonini & ":$AJ$" & taille), 
    Relation:=3, FormulaText:=1
          ' le lineaire a une contrainte max
       SolverAdd CellRef:=Range("$AN$1"), Relation:=2, FormulaText:=Range("$AO$1")
          ' la typo est superieur ou egal a la typo mini
       SolverAdd CellRef:="$AJ$" & rayonini & ":$AJ$" & taille, Relation:=3, 
    FormulaText:="$AG$" & rayonini & ":$AG$" & taille
          ' la typo est inferieur ou egal a la typo maxi
       SolverAdd CellRef:="$AJ$" & rayonini & ":$AJ$" & taille, Relation:=1, 
    FormulaText:="$AF$" & rayonini & ":$AF$" & taille
       SolverOk SetCell:="$AM$1", MaxMinVal:=1, ByChange:="$AJ$" & rayonini & 
    ":$AJ$" & taille
     
       SolverSolve userFinish:=True
    A+

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Ardèche (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 652
    Points : 1 116
    Points
    1 116
    Par défaut
    Bonjour à tout le monde:

    Ce code-exemple fonctionne chez moi ( les parametres du solveur sont définis manuellement sur la feuille excel: il n'y a pas besoin de les redéfinir comme dans l'exemple fourni google fourni ci-dessus); il faut cocher la référence solveur.xls dans outil-références de l'éditeur VBA.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ActiveSheet.Unprotect
        Range("volume").ClearContents
        SolverOk SetCell:="marge", MaxMinVal:=1, ValueOf:="0", ByChange:="volume"
        SolverSolve (True)
        ActiveSheet.Protect
    bon WE

Discussions similaires

  1. utilisation d'une macro Excel dans une macro Word
    Par Tommy24 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 05/05/2011, 14h36
  2. [XL-2003] Comment utiliser les fonctions ESSBASE dans une macro excel ?
    Par kharon_rp dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/04/2010, 14h17
  3. Récupération de cellules Excel dans une macro Word
    Par J-yvesR dans le forum VBA Word
    Réponses: 3
    Dernier message: 30/06/2009, 19h43
  4. Utiliser une fonction excel dans une macro et proprièté range
    Par bebel9313 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 11/08/2007, 14h25
  5. Comment insérer une macro excel dans une macro word?
    Par max2245 dans le forum VBA Word
    Réponses: 15
    Dernier message: 07/01/2006, 17h44

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