Votre question
Résolu

Macro Excel - Automatiser l'utilisation du solveur

Tags :
  • Utilisation
  • Microsoft Excel
  • Programmation
Dernière réponse : dans Programmation
4 Décembre 2017 17:48:44

Bonjour,

Je débute dans l'utilisation des macros et VBA et je n'arrive pas à résoudre le problème suivant, j'ai crée une macro utilisant le solveur d'excel. J'aimerais maintenant que cela s'applique à toutes les lignes de la colonne.

Comme mon objet à définir et ma variable sous sur la même ligne je pensais faire une boucle for qui fasse varier la valeur de cette ligne, mais je n'arrive pas à comprendre comment introduire un paramètre dans ma macro...

Merci d'avance pour votre aide,

Manon

Autres pages sur : macro excel automatiser utilisation solveur

a c 82 L Programmation
5 Décembre 2017 09:27:52

Salut Manon,
poste ton code ici qu'on voit ce qu'on peut faire (svp entre balise [code="vb"] ... ton code ... [/code])
m
0
l
5 Décembre 2017 09:46:59

Hello drul, merci pour ta réponse, voila le code du macro que je voudrais automatiser pour toutes les lignes :

  1. Sub SolveurTnormal()
  2. '
  3. ' SolveurTnormal Macro
  4. '
  5. Range("AT52").Select
  6. SolverOk SetCell:="$AT$52", MaxMinVal:=3, ValueOf:=0, ByChange:="$AV$52", _
  7. Engine:=1, EngineDesc:="GRG Nonlinear"
  8. SolverOk SetCell:="$AT$52", MaxMinVal:=3, ValueOf:=0, ByChange:="$AV$52", _
  9. Engine:=1, EngineDesc:="GRG Nonlinear"
  10. SolverSolve
  11.  
  12. End Sub


J'aurais aimé ajouté un paramètre dans mon macro solveurTnormal (remplacer le 52 du précédant code par ce paramètre) mais j'arrive pas à comprendre comment on fait ça
et ensuite faire une boucle for de ce style pour que ça s'applique à toutes les lignes ...

  1. Sub boucle_for()
  2. for i = 1 to 300
  3. solveurTnormal(i)
  4. end sub
m
0
l
Contenus similaires

Meilleure solution

a c 82 L Programmation
5 Décembre 2017 10:10:33

Essaye ça :
  1. Sub SolveurTnormal(ByVal index)
  2. '
  3. ' SolveurTnormal Macro
  4. '
  5. SolverOk SetCell:="$AT$" & index, MaxMinVal:=3, ValueOf:=0, ByChange:="$AV$" & index, _
  6. Engine:=1, EngineDesc:="GRG Nonlinear"
  7. SolverSolve
  8. End Sub
  9.  
  10. Sub boucle_for()
  11. For i = 1 To 300
  12. SolveurTnormal (i)
  13. Next
  14. End Sub
partage
il y a 4 minutes

:bounce:  génial merci !!!

m
0
l
a c 82 L Programmation
il y a 1 minute

:jap: 
m
0
l