Outil valeur cible Excel
Fermé
sheiko
Messages postés
4
Date d'inscription
mardi 9 janvier 2007
Statut
Membre
Dernière intervention
7 février 2007
-
7 févr. 2007 à 12:46
Le Mektoub - 9 janv. 2014 à 10:44
Le Mektoub - 9 janv. 2014 à 10:44
A voir également:
- Excel valeur cible plusieurs cellules
- Formule excel pour additionner plusieurs cellules - Guide
- Liste déroulante excel - Guide
- Verrouiller cellules excel - Guide
- Excel cellule couleur si condition texte - Guide
- Aller à la ligne dans une cellule excel - Guide
3 réponses
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)
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)
Bonjour,
Je ne sais pas si vous avez trouvez une solution !!
Si non, m'averti car j'ai la solution
Bonne journée
Habib
Je ne sais pas si vous avez trouvez une solution !!
Si non, m'averti car j'ai la solution
Bonne journée
Habib