Rechercher : dans
Par :

Outil valeur cible Excel

Dernière réponse le 30 jui 2009 à 19:12:08 sheiko, le 7 fév 2007 à 12:46:41 
 Signaler ce message aux modérateurs

Bonjour,

J'aimerais savoir comment comment appliquer l'outil "valeur cible" d'excel à un groupe de celulle afin d' éviter de le faire manuellement cellule par cellule (car, en effet, cette fonction est normalement utilisable pour une unique cellule).

Ci-joint la macro qui permet d'utiliser l'outil sur une cellule donnée (dans ce cas c'était la cellule U3) en modifiant une autre cellule (en l'occurrence T3).

Sub cible()
'
' cible Macro
' Macro enregistrée le 07/02/2007 par Sheiko
'
' Touche de raccourci du clavier: Ctrl+Maj+A
'
Range("U3").Select
Range("U3").GoalSeek Goal:=0, ChangingCell:=Range("T3")
End Sub

Donc est-il possible de généraliser cette macro afin qu'elle résolve simultanément plusieurs cellules?


Merci d'avance

Configuration: Windows 2000
Internet Explorer 6.0

Meilleures réponses pour « Outil valeur cible Excel » dans :
Utiliser VALEUR CIBLE sous Excel Voir Vous avez fait un devis, sous forme d'un tableau EXCEL vous avez additionné chacun des prix, obtenu un Total HT (en E8 par exemple) défini une remise (en E9), appliqué le montant de TVA (en E10), obtenu votre Total TTC (en E11) votre client vous...
[Excel] Restreindre l'accès aux cellules VoirEncore une fonction peu connue : Expérimentez : Données / Validation Vous pouvez alors restreindre ou interdire l'accès aux "cellules stratégiques" de votre choix, avec message d'alerte. Vous pouvez faire afficher automatiquement des messages...
[Excel] Chemin et nom de stockage de feuille de calcul VoirIndiquer automatiquement le chemin d'accès (path) et le nom de stockage de toute feuille de calcul Noter dans une cellule (A& par exemple) la formule : =cellule("nomfichier";A1) A chaque sauvegarde et/ou déplacement de fichier dans votre...
Formules EXCEL de Base 2 VoirOn a vu la fonction SI La fonction ET est également interressante. Combinée à SI, celà donne : =SI(ET(condition1;condition2;.......conditionZ);vrai;faux) on affiche les différentes conditions à vérifier (ex : B3>C2 ....C2=B9; etc..). si toutes...
Télécharger MOREFUNC (Macro complémentaire EXCEL) VoirMorefunc est une macro complémentaire proposant 67 nouvelles fonctions de feuille de calcul pour Excel. Ces fonctions sont compatibles avec Excel 95 à 2007. Elles ne sont pas portables sur d'autres plate-formes que Windows, ni sur d'autres...
Mise en forme de données VoirStyles de données Que la cellule contienne une valeur littérale saisie par vous-même ou le résultat d’une formule, vous affectez un style aux données de cette cellule en définissant ce que l’on appelle le format de la cellule : cela conditionne...

1

haju68, le 4 mar 2008 à 12:04:00
  • +3

Pour ma part j'ai eu le même soucis que toi, j'ai fini par trouver une astuce.
J'ai copié mes valeurs cibles dans une colonne Excel, en laissant des colonnes libres de chaque côté.
Puis j'ai entré dans les colonnes voisine le reste de la ligne de code. La colonne B contient la plage de cellule contenant la formule, la colonne D les valeurs cibles et la colonne F la plage de cellule que l'on fera varier.
A B C D E F G
Range(" O122 ").GoalSeek Goal:= 6.016454882 , ChangingCell:=Range(" P122 ")
Range(" O123 ").GoalSeek Goal:= 6.025227694 , ChangingCell:=Range(" P123 ")


Les grands espace correspondent aux séprations entre chaque colonne.
Il me suffit ainsi de tirer les colonnes A, B, C, E, F et G

Range(" O122 ").GoalSeek Goal:= 6.016454882 , ChangingCell:=Range(" P122 ")
Range(" O123 ").GoalSeek Goal:= 6.025227694 , ChangingCell:=Range(" P123 ")
. . . . . . .
. . . . . . .
. . . . . . .
Range(" O401 ").GoalSeek Goal:= 6.025227694 , ChangingCell:=Range(" P401 ")


Il suffit ensuite sélectionner l'ensemble de ces cellules, puis de les copier-coller dans le code, les espaces ne gènent pas l'exécution de la macro.

Sub cible()
'
' cible Macro
' Macro enregistrée le 07/02/2007 par Sheiko modifiée le 04/03/2008 par haju68
'
' Touche de raccourci du clavier: Ctrl+Maj+A
'
Range("O122:O401").Select
Range("P122:P401").Select
Range("O122").GoalSeek Goal:=6.016454882, ChangingCell:=Range(" P122 ")
Range("O123").GoalSeek Goal:=6.025227694, ChangingCell:=Range(" P123 ")
Range("O124").GoalSeek Goal:=6.111536889, ChangingCell:=Range(" P124 ")
Range("O125").GoalSeek Goal:=6.016454882, ChangingCell:=Range(" P125 ")
Range("O126").GoalSeek Goal:=5.974585859, ChangingCell:=Range(" P126 ")
Range("O127").GoalSeek Goal:=6.111536889, ChangingCell:=Range(" P127 ")
Range("O128").GoalSeek Goal:=5.977634649, ChangingCell:=Range(" P128 ")
. . . . . . .
. . . . . . .
. . . . . . .
Range("O398").GoalSeek Goal:=5.842896296, ChangingCell:=Range(" P398 ")
Range("O399").GoalSeek Goal:=5.773536237, ChangingCell:=Range(" P399 ")
Range("O400").GoalSeek Goal:=5.836683024, ChangingCell:=Range(" P400 ")
Range("O401").GoalSeek Goal:=5.929350191, ChangingCell:=Range(" P401 ")
End Sub




Ca m'a permis de traiter près de 300 lignes, en espérant que mon astuce en aidera d'autre.
Je me suis bien cassé la tête et ai réalisé 120 valeurs cible manuellement avant de trouver ce truc (à ma décharche je n'avais pas accès à internet et à l'aide de VBA et l'équation est quasi insoluble à la main)

Répondre à haju68

2

habib, le 5 mai 2009 à 09:25:25

Bonjour,
Je ne sais pas si vous avez trouvez une solution !!
Si non, m'averti car j'ai la solution
Bonne journée
Habib

Répondre à habib

3

 micha, le 30 jui 2009 à 19:12:08

Je suis preneur de la solution

je souhaite resoudre l'équation suivante (X/cells(i, 2))^2+(X/cells(i,3))^3 = 1 et afficher le résultat en cells(i,4) sans a avoir a écrire l'équation pour chacune des lignes ( i = 1 to 1000)
cells(i,2) et cells(i,3) étant bien évidement des constantes

Répondre à micha