Rapport de message :*
 

Re: solver dans macro

Titre du sujet : Re: solver dans macro
par myDearFriend! le 10/07/2008 19:56:25

Bonsoir lannou, le Forum,

Dans la ligne suivante par exemple :
SolverOk SetCell:="$C$17", MaxMinVal:=2, ValueOf:="0", ByChange:="$C$9:$C$16"
les arguments SetCell et ByChange attendent une valeur de type String (chaine de caractères) correspondant à l'adresse d'une cellule ou d'une plage et non une référence directe à la cellule ou à la plage en question.
Pour ta nouvelle procédure, il convient donc d'écrire sous cette forme :
SolverOk SetCell:=Range("C" & imax1 + 1).Address, MaxMinVal:=2, ValueOf:="0", ByChange:=Range("C9:C" & imax1).Address
Le simple ajout de la propriété Address te permet d'obtenir la chaine de caractères souhaitée et supprime l'erreur que tu rencontrais. Il convient bien évidemment de faire de même sur les autres lignes et également pour la fonction SolverAdd...

Ensuite, un conseil qu'il convient d'appliquer si tu souhaites progresser en VBA : toujours déclarer tes variables (lire l'article VBA et les variables).

Par ailleurs lannou, je te remercie d'utiliser le bouton prévu pour l'insertion du code VBA dans les posts du Forum :



Cordialement

PS: ta BAL est encore pleine...