clouistiti
XLDnaute Nouveau
Bonjour,
J'ai programmé la fonction solveur en Visual Basic car ma plage de cellules variables (que j'ai appelé Criteria) varie selon certaines conditions. Je dois avoir un problème avec mes conditions car ça me plage de cellules variables n'est jamais la bonne. Help !
PrivateSub CommandButton1_Click()
Worksheets('').Activate
SolverReset
If IsEmpty ('A16:A22') Then Criteria=('C15')
ElseIf IsEmty('A17:A22') Then Criteria= ('C15:C16')
ElseIf IsEmty('A18:A22') Then Criteria= ('C15:C17')
ElseIf IsEmty('A19:A22') Then Criteria= ('C15:C18')
ElseIf IsEmty('A20:A22') Then Criteria= ('C15:C19')
ElseIf IsEmty('A21:A22') Then Criteria= ('C15:C20')
ElseIf IsEmty('A22') Then Criteria ('C15:C21')
Else: Criteria=('C15:C22')
EndIf
SolverOptions
SolverOK SetCell:=Range('C23')
MaxMinVal:=1,_
ByChange:=Criteria
SolverAdd Cellref:=Range('D24'),_
Relation:=2,_
FormulaText:='$D$23'
SolverSolve UserFinish:=False
SolverSave SaveArea:=Range('L1')
End Sub
Merci d'avance.
J'ai programmé la fonction solveur en Visual Basic car ma plage de cellules variables (que j'ai appelé Criteria) varie selon certaines conditions. Je dois avoir un problème avec mes conditions car ça me plage de cellules variables n'est jamais la bonne. Help !
PrivateSub CommandButton1_Click()
Worksheets('').Activate
SolverReset
If IsEmpty ('A16:A22') Then Criteria=('C15')
ElseIf IsEmty('A17:A22') Then Criteria= ('C15:C16')
ElseIf IsEmty('A18:A22') Then Criteria= ('C15:C17')
ElseIf IsEmty('A19:A22') Then Criteria= ('C15:C18')
ElseIf IsEmty('A20:A22') Then Criteria= ('C15:C19')
ElseIf IsEmty('A21:A22') Then Criteria= ('C15:C20')
ElseIf IsEmty('A22') Then Criteria ('C15:C21')
Else: Criteria=('C15:C22')
EndIf
SolverOptions
SolverOK SetCell:=Range('C23')
MaxMinVal:=1,_
ByChange:=Criteria
SolverAdd Cellref:=Range('D24'),_
Relation:=2,_
FormulaText:='$D$23'
SolverSolve UserFinish:=False
SolverSave SaveArea:=Range('L1')
End Sub
Merci d'avance.