Bonjour,
désolé pour le titre un peu vague mais je n'ai pas d'autre idée.
Alors mon problème est le suivant:
- A partir de c3 jusqu'à cxx j'ai des pondérations
- je connais le nombre de pondération (variable nbponder dans le code). Donc ma plage de données va de c3 à c3+nbpond
- je souhaite utiliser le solver pour définir un chiffre calculé avec les pondérations. Je dois donc définir ma plage de pondération comme zone 'variable'.
Ca me donne quelques chose du type : (bien sur SOLVER.XLA est en reference )
Sub test()
reference = 'C2'
result = 'D4'
SolvReset
Range('C3').Select
nbponder = 48 'normalement variable, mais pour l'exemple je le fixe
Selection.Offset(nbponder, 0).Select
Zone1 = ActiveCell.Address
Set plage = Range(Zone1)
'j'aurais bien aimé definir ma plage par rapport à la variable reference avec quelquechose du type
' Set plage = Range('C2', Cells(reference).offset(nbponder,0) mais ca ne marche pas du tout !
'SolvOk szCelluleVariance, maxMinVal:=2, byChange:=Range('C3:C50')
SolvOk result, maxMinVal:=2, byChange:=Range(plage)
SolvFinish
SolvSolve UserFinish:=True
End Sub
Malheureusement la ligne 'SolvOk result, maxMinVal:=2, byChange:=Range(plage)' génère une erreur, mais je ne sais pas pourquoi.
D'autre part (comme je l'ai mis en commentaire), j'aurais bien aimé définir ma zone1 par rapport à la cellule dont l'adresse est dans 'reference', mais la c'est au dessus de mes moyens !!
Merci d'avance pour vos réponses concernant le SolvOk... et éventuellement pour mon problème optionnel (avec 'reference'=.
ERick
désolé pour le titre un peu vague mais je n'ai pas d'autre idée.
Alors mon problème est le suivant:
- A partir de c3 jusqu'à cxx j'ai des pondérations
- je connais le nombre de pondération (variable nbponder dans le code). Donc ma plage de données va de c3 à c3+nbpond
- je souhaite utiliser le solver pour définir un chiffre calculé avec les pondérations. Je dois donc définir ma plage de pondération comme zone 'variable'.
Ca me donne quelques chose du type : (bien sur SOLVER.XLA est en reference )
Sub test()
reference = 'C2'
result = 'D4'
SolvReset
Range('C3').Select
nbponder = 48 'normalement variable, mais pour l'exemple je le fixe
Selection.Offset(nbponder, 0).Select
Zone1 = ActiveCell.Address
Set plage = Range(Zone1)
'j'aurais bien aimé definir ma plage par rapport à la variable reference avec quelquechose du type
' Set plage = Range('C2', Cells(reference).offset(nbponder,0) mais ca ne marche pas du tout !
'SolvOk szCelluleVariance, maxMinVal:=2, byChange:=Range('C3:C50')
SolvOk result, maxMinVal:=2, byChange:=Range(plage)
SolvFinish
SolvSolve UserFinish:=True
End Sub
Malheureusement la ligne 'SolvOk result, maxMinVal:=2, byChange:=Range(plage)' génère une erreur, mais je ne sais pas pourquoi.
D'autre part (comme je l'ai mis en commentaire), j'aurais bien aimé définir ma zone1 par rapport à la cellule dont l'adresse est dans 'reference', mais la c'est au dessus de mes moyens !!
Merci d'avance pour vos réponses concernant le SolvOk... et éventuellement pour mon problème optionnel (avec 'reference'=.
ERick