Macro solver en 2010 ne fonctionne pas en 2007

goldenaggregate Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
Heliotte Messages postés 1491 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,





j'ai écrit le code suivant :

Private Sub CommandButton1_Click()

Worksheets("Calculs").Unprotect Password:="XXX"


Worksheets("Calculs").Range("D12").Value = 30
Worksheets("Calculs").Range("K7").Value = 300
Worksheets("Calculs").Range("K6").Value = 300
Worksheets("Calculs").Range("K8").Value = 300
Worksheets("Calculs").Range("K9").Value = 300
Worksheets("Calculs").Range("K10").Value = 300
Worksheets("Calculs").Range("K24").Value = 300
Worksheets("Calculs").Range("K25").Value = 300
Worksheets("Calculs").Range("K26").Value = 300
Worksheets("Calculs").Range("K27").Value = 300
Worksheets("Calculs").Range("K28").Value = 300



Worksheets("Calculs").Activate
SolverReset
SolverOptions Precision:=0.001
SolverOK SetCell:=Worksheets("Calculs").Range("L33"), _
MaxMinVal:=2, _
ByChange:=Worksheets("Calculs").Range("K6:K10,K24:K28,D12"), Engine:=1

SolverAdd CellRef:=Worksheets("Calculs").Range("K6:K10"), _
Relation:=1, _
FormulaText:=1000

SolverAdd CellRef:=Worksheets("Calculs").Range("K6:K10"), _
Relation:=3, _
FormulaText:=0

SolverAdd CellRef:=Worksheets("Calculs").Range("K24:K28"), _
Relation:=1, _
FormulaText:=1000

SolverAdd CellRef:=Worksheets("Calculs").Range("K24:K28"), _
Relation:=3, _
FormulaText:=0

SolverAdd CellRef:=Worksheets("Calculs").Range("D12"), _
Relation:=1, _
FormulaText:=150

SolverAdd CellRef:=Worksheets("Calculs").Range("D12"), _
Relation:=3, _
FormulaText:=0

SolverSolve UserFinish:=True
SolverSave SaveArea:=Range("A45")
Worksheets("Paramètres d'entrée").Activate

Worksheets("Calculs").Protect Password:="XXX", DrawingObjects:=True, Contents:=True, Scenarios:=True

End Sub


Il marche très bien en 2010 mais ne fonctionne pas sur les versions antérieures. Quelqu'un aurait-il une idée pourquoi ? Comment on peut modifier le code pour qu'il fonctionne sur n'importe quelle version d'Excel ?

Thanks.
A voir également:

1 réponse

Heliotte Messages postés 1491 Date d'inscription   Statut Membre Dernière intervention   92
 
Bonsoir goldenaggregate,
Sous Excel, tu mets en route une nouvelle macro,
Tu encodes les nombres à la bonne place, tu exécute le solveur, et quand tu as fini ..
Tu arrêtes la macro
Puis, tu ouvres la feuille de code, tu nettoies le code, tu le nomme correctement.
Et voilà !
-1