![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Membre à l'essai
![]() Date d'inscription: janvier 2007
Messages: 43
|
Bonjour à tous !
J'ai un petit souci, je m'embrouille depuis un moment . En placant juste des boucles FOR, je n'ai pas ce q je veux... je n'arrive guere à trouver la solution ... j'espère q vos brillants esprits vont y parvenir.Je souhaite incrémenter 3 séries en parallèle... si, a, b et c sont mes valeurs à incrémenter, j'ai : Nb1 = Nb1bis * a Nb2 = Nb2bis * b Nb3 = Nb3bis * c Mon but est de calculer nbtot = nb1 + nb2 + nb3 et de trouver les coordonnées (a,b,c) telles que nbtot soit min.... Pour cela, il faut q a, puis b puis c soient incrémentés les uns après les autres et q à chaque element incrémenté, nbtot soit calculé... comment faire ? J'espère q j'aurai été clair. Merci d'avance pour votre aide. Dernière modification par Mourne ; 26/08/2008 à 13h55 |
|
|
|
|
|
#2 (permalink) |
|
Membre Expert
![]() Date d'inscription: août 2007
Localisation: Impasse
Âge: 43
Messages: 1 024
|
Salut,
peux-tu préciser d'où viennent NB1bis, NB2bis, NB3bis Et, surtout, merci de montrer ton code , quel qu'il soit !!!
__________________
Cordialement G@dz Question technique par MP = Vous avez des neurones. Sollicitez-les. réponse inadaptée. Si la solution est absente, le problème n'est plus.
|
|
|
|
|
|
#3 (permalink) | |
![]() Date d'inscription: février 2008
Localisation: Bxl
Âge: 45
Messages: 2 667
|
Bonjour,
Alors là... Pour commencer, regarde la définition du mot "incrémenter", je n'ai pas l'impression qu'il s'agisse d'incrémentation dans ce cas ci. Ensuite relis ce que tu as écrits Citation:
__________________
LES FAQ OFFICE - LES COURS OFFICE - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA Prenez quelques secondes pour lire ceci : Aide sur l'utilisation des boutons du forum Hormis pour me demander mon numéro de compte afin d'y effectuer un versement, évitez de m'envoyer vos questions par MP, merci d'avance En posant une question on risque d'avoir l'air idiot cinq minutes. En n'en posant pas, on risque de le rester toute sa vie (proverbe chinois) Dernière modification par AlainTech ; 26/08/2008 à 22h26 |
|
|
|
|
|
|
#4 (permalink) | |
|
Membre à l'essai
![]() Date d'inscription: janvier 2007
Messages: 43
|
nb(i) et nb(i)bis sont des nombres q je récupère d'une feuille excel.
voici le code.... Code :
coutMDE_client = Range("E10:H10") coutENR_NT_unit = Range("E16:H16") coutENR_T_Eunit = Range("E21:H21") coutENR_T_Punit = Range("E22:H22") Nbclient_max() = Range("E12:H12") PuissENR_NT_max() = Range("E19:H19") ProdENR_T_max() = Range("E25:H25") puissENR_T_max() = Range("E26:H26") conso() = Range("E6:H6") ecoMDE() = Range("E14:H14") annee = 0 Nbclient = 0 For annee = 0 To 3 For PuissENR_NT = 1 To puissENR_T_max(annee) For Nbclient = 1 To Nbclient_max(annee) coutMDE(annee) = coutMDE_client(annee) * Nbclient coutENR_NT(annee) = coutENR_NT_unit(annee) * PuissENR_NT coutENR_T(annee) = coutENR_T_Eunit(annee) * ProdENR_T + coutENR_T_Punit(annee) * puissENR_T coutTotal(annee) = coutMDE(annee) + coutENR_NT(annee) + coutENR_T(annee) Next Nbclient Next puissENR_T coutTotal(annee) = coutMDE(annee) + coutENR_NT(annee) + coutENR_T(annee) Next Citation:
Itération 1 : Nb1 = Nb1bis * 1 Nb2 = Nb2bis * 1 Nb3 = Nb3bis * 1 calcule de nbtot=f(nb1,nb2,nb3) et nboptimal = nbtot Itération 2 : Nb1 = Nb1bis * 2 Nb2 = Nb2bis * 1 Nb3 = Nb3bis * 1 calcule de f(nb1,nb2,nb3) => je stocke les valeurs a,b,c si nbtot est plus petit q ma valeur nboptimal puis nboptimal prend la nouvelle valeur nbtot. Itération 3 : Nb1 = Nb1bis * 2 Nb2 = Nb2bis * 2 Nb3 = Nb3bis * 1 calcule de f(nb1,nb2,nb3) => je stocke les valeurs a,b,c si nbtot est plus petit q ma valeur nboptimal puis nboptimal prend la nouvelle valeur nbtot. Itération 4 : Nb1 = Nb1bis * 2 Nb2 = Nb2bis * 2 Nb3 = Nb3bis * 2 calcule de f(nb1,nb2,nb3) => je stocke les valeurs a,b,c si nbtot est plus petit q ma valeur nboptimal puis nboptimal prend la nouvelle valeur nbtot. Itération 5 : Nb1 = Nb1bis * 3 Nb2 = Nb2bis * 2 Nb3 = Nb3bis * 2 calcule de f(nb1,nb2,nb3) => je stocke les valeurs a,b,c si nbtot est plus petit q ma valeur nboptimal puis nboptimal prend la nouvelle valeur nbtot. etc.... j'espère q ce sera mieux... Dernière modification par fring ; 26/08/2008 à 14h23 Motif: Fusion de 2 messages + ajout des balises [code] |
|
|
|
|
|
|
#5 (permalink) |
|
Membre Expert
![]() Date d'inscription: août 2007
Localisation: Impasse
Âge: 43
Messages: 1 024
|
Halte Stop....
Tu va dans tous les sens et tu ne respectes pas les regles du forum... D'abord : ![]() Ensuite Pour ce faire il faut prendre le temps de lire et appliquer les consignes présentées en haut de la page http://www.developpez.net/forums/f66...cel/vba-excel/Ensuite dans ton code : Code :
coutTotal(annee) = coutMDE(annee) + coutENR_NT(annee) + coutENR_T(annee) Next Nbclient Next puissENR_T coutTotal(annee) = coutMDE(annee) + coutENR_NT(annee) + coutENR_T(annee) Next Il te manque alors des instructions avant ton code du genre : Code :
min = 99999999999 min_a = 0 min_b = 0 min_c = 0 Code :
coutTotal(annee) = coutMDE(annee) + coutENR_NT(annee) + coutENR_T(annee) If min > CoutOtal(annee) then min = CoutTotal(annee) min_a = annee min_b = .... ' je ne m'y retrouve pas dasn tes variables..... min_c = .... endif Next Nbclient Next puissENR_T Next
__________________
Cordialement G@dz Question technique par MP = Vous avez des neurones. Sollicitez-les. réponse inadaptée. Si la solution est absente, le problème n'est plus.
Dernière modification par fring ; 26/08/2008 à 14h26 Motif: ajout des balises [code] |
|
|
|
![]() |
![]() |
||
incrémenter 3 séries en parallèle
|
||
Offres d'
emploi informatique
sur Lesjeudis.com
|
| Outils de la discussion | |
|
|