Macro pour solveur en boucle

Specialized

XLDnaute Nouveau
Bonjour,

je travaille en ce moment sur un tableau de répartition de charges (Ordres de Fabrication) sur les différents jours de la semaine.
Dans le cadre de ce travail, je me suis essayé au solveur, lequel j´aimerais utilisé en boucle dans une macro, j´ai donc tenté la chose suivante:

Sub Makro3()
'
' Makro3 Makro
'

'
SolverOk SetCell:="$R$11", MaxMinVal:=3, ValueOf:="0", ByChange:="$I$11:$Q$11"
SolverAdd CellRef:="$I$11:$Q$11", Relation:=4, FormulaText:="Ganzzahlig"
SolverAdd CellRef:="$I$11:$Q$11", Relation:=1, FormulaText:="1"
SolverOk SetCell:="$R$11", MaxMinVal:=3, ValueOf:="0", ByChange:="$I$11:$Q$11"


' Solve the model but do not display the Solver Results dialog box.
SolverSolve Userfinish:=True

' Finish and keep the final results.

End Sub


Ce que me pose probleme, étant débutant en macro, c´est de créer une boucle et d´éxécuter le solveur à partir de la ligne 11, jusqu´à la fin du tableau dont la longueur varie (ligne vide).

Voilà, en remerciant par avance tous ceux qui me liront.
 

CHALET53

XLDnaute Barbatruc
Re : Macro pour solveur en boucle

Bonjour,

Peut-être comme ceci (mais sans fichier : pas facile à vérifier)
Attention : je calcule la dernière ligne sur la colonne A. s'il n'y a rien dans cette colonne, remplacer par une autre lettre
j'ai aussi forcé derligne à 14 pour tester la boucle: à supprimer

Sub Makro3()
'
' Makro3 Makro
'

derligne = Sheets("Feuil1").Range("A65536").End(xlUp).Row
derligne = 14
'
For i = 11 To derligne
SolverOk SetCell:=Range("$R$" & 11), MaxMinVal:=3, ValueOf:="0", ByChange:=Range(Cells(i, 9), Cells(i, 17)) '"$I$11:$Q$11"
SolverAdd CellRef:=Range(Cells(i, 9), Cells(i, 17)), Relation:=4, FormulaText:="Ganzzahlig"
SolverAdd CellRef:=Range(Cells(i, 9), Cells(i, 17)), Relation:=1, FormulaText:="1"
SolverOk SetCell:=Range("$R$" & 11), MaxMinVal:=3, ValueOf:="0", ByChange:=Range(Cells(i, 9), Cells(i, 17))


' Solve the model but do not display the Solver Results dialog box.
SolverSolve Userfinish:=True
Next i
' Finish and keep the final results.

End Sub


a+
 

Statistiques des forums

Discussions
312 207
Messages
2 086 250
Membres
103 165
dernier inscrit
thithithi78