Référence à cellule et plage

Erick

XLDnaute Nouveau
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
 

Bebere

XLDnaute Barbatruc
bonjour Erick

'ActiveCell.Address tu as l'addresse de la cellule ou le curseur est

Sub erick()
Dim DerL As Integer
'la feuille active ('Feuil1' nom de la feuille)
' si autre nom change 'Feuil1'
Sheets('Feuil1').Activate
'C3 debut tableau
'dernière ligne non vide
DerL = Range('C3').End(xlDown).Row
Set zone = Range('C3:C50')
'C2 référence
reference = C2
Set plage = Range('C3:C' & DerL - reference).Offset(reference, 0)
End Sub

au revoir
 

Statistiques des forums

Discussions
312 492
Messages
2 088 893
Membres
103 982
dernier inscrit
krakencolas