VBA et solveur
Fermé
altec
-
12 mars 2011 à 18:49
ccm81 Messages postés 10854 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 26 avril 2024 - 13 mars 2011 à 18:05
ccm81 Messages postés 10854 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 26 avril 2024 - 13 mars 2011 à 18:05
3 réponses
ccm81
Messages postés
10854
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
26 avril 2024
2 404
12 mars 2011 à 22:02
12 mars 2011 à 22:02
bonsoir
la cellule cible doit contenir une formule, il faut donc utiliser un
Range(cellule_cible).formula = la_formule
où la_formule est fabriquée comme une chaine de caracteres dépendant des cellules et des opérations concernées
par exemple
les Xi en A3, A4
les ki en B3, B4
la cellule cible en C3
si ça ne correspond pas à ce que tu veux, il vaut mieux nous donner ton code ou mieux, envoyer le fichier (format excel 2003) sur cijoint.fr
bon courage
la cellule cible doit contenir une formule, il faut donc utiliser un
Range(cellule_cible).formula = la_formule
où la_formule est fabriquée comme une chaine de caracteres dépendant des cellules et des opérations concernées
par exemple
les Xi en A3, A4
les ki en B3, B4
la cellule cible en C3
Const lideb = 3 Const nbli = 2 Dim f As String Dim li As Long f = "=" For li = lideb To lideb + nbli - 1 f = f & "A" & li & "^B" & li & "+" Next li Range("C3").Formula = Left(f, Len(f) - 1)
si ça ne correspond pas à ce que tu veux, il vaut mieux nous donner ton code ou mieux, envoyer le fichier (format excel 2003) sur cijoint.fr
bon courage
Salut,
Merci pour ta réponse. Peut-être ai-je mal compris ce que tu voulais dire, mais en remplaçant le .Value par .Formula pour garder le nom de la variable dans mes calculs, j'ai toujours cette incompatibilité de type lors du débogage.
Voici mon code :
For j = 4 To k
ValAct = ValAct + Sheets("Feuil1").Cells(j, 6).Value / (1 + Sheets("Feuil1").Range("B9").Formula) ^ Sheets("Feuil1").Cells(j, 4).Value
Sheets("Feuil1").Cells(j, 9).Value = ValAct
[En gros je fais la somme des F_k/(1+y)^k et j'aimerai garder y en littéral et non avoir la valeur de y]
Next j
SolverOk SetCell:="Cells(k, 9).Value", MaxMinVal:=3, ValueOf:="$F$3", ByChange:="$B$9"
SolverSolve
Merci pour ta réponse. Peut-être ai-je mal compris ce que tu voulais dire, mais en remplaçant le .Value par .Formula pour garder le nom de la variable dans mes calculs, j'ai toujours cette incompatibilité de type lors du débogage.
Voici mon code :
For j = 4 To k
ValAct = ValAct + Sheets("Feuil1").Cells(j, 6).Value / (1 + Sheets("Feuil1").Range("B9").Formula) ^ Sheets("Feuil1").Cells(j, 4).Value
Sheets("Feuil1").Cells(j, 9).Value = ValAct
[En gros je fais la somme des F_k/(1+y)^k et j'aimerai garder y en littéral et non avoir la valeur de y]
Next j
SolverOk SetCell:="Cells(k, 9).Value", MaxMinVal:=3, ValueOf:="$F$3", ByChange:="$B$9"
SolverSolve
ccm81
Messages postés
10854
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
26 avril 2024
2 404
13 mars 2011 à 18:05
13 mars 2011 à 18:05
re
re
je cois que tu devrais aller jeter un oeil sur le site de microsoft pour une utilisation du solveur depuis vba
https://support.microsoft.com/en-us/help/843304
bon courage
re
je cois que tu devrais aller jeter un oeil sur le site de microsoft pour une utilisation du solveur depuis vba
https://support.microsoft.com/en-us/help/843304
bon courage