Magic_Doctor
XLDnaute Barbatruc
Bonjour à tous,
Pour trouver une valeur optimale il est judicieux d'utiliser le Solveur qui est un instrument d'analyse très puissant et qui n'est pas installé dans Excel par défaut. Pour cela il faut installer la macro complémentaire qui lui correspond (voir l'aide d'Excel). Bref c'est un complément peu connu, mais sans doute l'un de ceux qui montre le mieux l'incroyable capacité de calcul d'Excel. Fatalement, au plus la bécane sera puissante, au plus le résultat apparaîtra rapidement (il faut souvent attendre plusieurs secondes, vu les milliers de calculs réalisés jusqu'à ce que le solveur trouve la valeur la plus appropriée). Peu utilisé (pratiquement personne connaît son existence, et pourtant il es là, il suffit de l'installer...!), le Solveur mérite d'être découvert !!!!
Voici donc mon problème avec le Solveur :
j'ai une cellule dans laquelle on rentre une valeur entière ou décimale. Cette valeur fait partie des variables d'une formule. Dans une autre cellule apparaît forcément le résultat de la formule.
Je demande au solveur de trouver la valeur de la 1ère cellule pour que le résultat soit égal à une valeur que je lui indique. Le solveur se met à calculer toutes les possibilités jusqu'à atteindre la valeur stipulée.
Je fais l'essai : ça marche !
Je décide d'écrire une macro pour automatiser la tâche.
Ne connaissant absolument pas la syntaxe pour le solveur, j'enregistre une macro pendant que j'effectue toutes les démarches précédentes, quitte ensuite à peaufiner la macro.
La macro s'enregistre bien.
Voici son contenu :
Sub Macro1()
Range("BV3").Select
ActiveCell.FormulaR1C1 = "1"
Range("BV4").Select
SolverAceptar definirCelda:="$BW$3", valorMáxMín:=1, valorDe:="350", _
celdasCambiantes:="$BV$3"
SolverResolver
End Sub
J'enclenche la macro pour voir si elle marche bien, et apparaît alors un message d'erreur :
"Sub ou fonction n'a pas été défini".
J'examine de plus près la syntaxe de la macro et curieusement je m'aperçois qu'il y a des choses écrites en espagnol (j'utilise en effet Excel en espagnol), alors que VBA est TOUJOURS en anglais !
Pourquoi donc ce problème quand on enregistre une macro avec le Solveur ?
Si l'un d'entre vous pouvait me l'expliquer, un grand merci !
Pour trouver une valeur optimale il est judicieux d'utiliser le Solveur qui est un instrument d'analyse très puissant et qui n'est pas installé dans Excel par défaut. Pour cela il faut installer la macro complémentaire qui lui correspond (voir l'aide d'Excel). Bref c'est un complément peu connu, mais sans doute l'un de ceux qui montre le mieux l'incroyable capacité de calcul d'Excel. Fatalement, au plus la bécane sera puissante, au plus le résultat apparaîtra rapidement (il faut souvent attendre plusieurs secondes, vu les milliers de calculs réalisés jusqu'à ce que le solveur trouve la valeur la plus appropriée). Peu utilisé (pratiquement personne connaît son existence, et pourtant il es là, il suffit de l'installer...!), le Solveur mérite d'être découvert !!!!
Voici donc mon problème avec le Solveur :
j'ai une cellule dans laquelle on rentre une valeur entière ou décimale. Cette valeur fait partie des variables d'une formule. Dans une autre cellule apparaît forcément le résultat de la formule.
Je demande au solveur de trouver la valeur de la 1ère cellule pour que le résultat soit égal à une valeur que je lui indique. Le solveur se met à calculer toutes les possibilités jusqu'à atteindre la valeur stipulée.
Je fais l'essai : ça marche !
Je décide d'écrire une macro pour automatiser la tâche.
Ne connaissant absolument pas la syntaxe pour le solveur, j'enregistre une macro pendant que j'effectue toutes les démarches précédentes, quitte ensuite à peaufiner la macro.
La macro s'enregistre bien.
Voici son contenu :
Sub Macro1()
Range("BV3").Select
ActiveCell.FormulaR1C1 = "1"
Range("BV4").Select
SolverAceptar definirCelda:="$BW$3", valorMáxMín:=1, valorDe:="350", _
celdasCambiantes:="$BV$3"
SolverResolver
End Sub
J'enclenche la macro pour voir si elle marche bien, et apparaît alors un message d'erreur :
"Sub ou fonction n'a pas été défini".
J'examine de plus près la syntaxe de la macro et curieusement je m'aperçois qu'il y a des choses écrites en espagnol (j'utilise en effet Excel en espagnol), alors que VBA est TOUJOURS en anglais !
Pourquoi donc ce problème quand on enregistre une macro avec le Solveur ?
Si l'un d'entre vous pouvait me l'expliquer, un grand merci !