Valeur Cible

A

andré

Guest
Salut à tous,
Existe-t-il un raccourci clavier (ou autre) pour la commande Valeur Cible (Goalseek)?
André.
 
S

STéphane

Guest
Bonjour

pas de raccourci à ma connaissance.

instructions envisageables par macro :
Application.Dialogs(xlDialogGoalSeek).Show arg1:=..., arg2:=...,arg3:=...

sendkeys "%ov"


il faut préférer la première solution.


bye
Stéphane
 
T

Thierry

Guest
Bonjour André, Bonjour STéphane et le Forum

Oui comme le dit STéphane pas de vrai raccourci clavier... Mais...

SANS VBA
Si tu es en Excel US, tu as la simple combinaison de touches à faire :
ALT + T + G (on lache le "T" avant le "G" tout en gardant ALT enfoncé)
En fait il ne s'agit pas d'un réél "Keyboard ShortCut" mais de la suite de touches qui sont soulignées dans tous les menus... Dans cet exemple avec ALT on tape "T" pour Tools (on ouvre le menu "Tools") puis dans ce menu (puisqu'on a pas laché ALT) on tape "G" pour Goalseek... Cette facon de faire est valable pour tous les caractères soulignés dans les menus... (Eg : ALT + F + V te fera => menu File / preView...) Pour les 100% français, c'est idem... regardez juste les lettres soulignées...


AVEC VBA
Tu peux mettre dans ton personal.xls
En Module Standard
Sub CallGoalseek()
Application.CommandBars("Tools").Controls(7).Execute
End Sub

En Module ThisWorkbook
Private Sub Workbook_Open()
Application.OnKey "+^{G}", "CallGoalSeek"
End Sub

J'avais préparé pour un raccourci clavier CTRL + SHIFT + G... Mais je viens de voir ton post pour le menu contextuel de droite..; Donc tu changes la Macro évenementiel pour une modif de cette commandbar (faut chercher sa référence)

Bonne Journée
@+Thierry
 
T

Thierry

Guest
PS Pour le code VBA ci dessus

... Il est possible que çà ne marche qu'en version US...
Application.CommandBars("Tools").Controls(7).Execute

... Il faut probablement renommer comme çà :
Application.CommandBars("Outils").Controls(Z).Execute

"Z" étant la position dans la liste de "GoalSeek" dans le menu Outils


En fait l'ideal serait de connaître l'ID... de chaque contrôle... Là ce serait vraiment international car on indiquerait :
Application.CommandBars.FindControl(ID:=???).Execute

Mais je ne connais pas l'ID de GoalSeek...

J'en profite si quelqu'un ne savait pas comment bricoler un code pour lister tous les Commandbars.Controls ID...

Merci d'avance...

@+Thierry
 
T

Ti

Guest
coucou, de retour. des progs qui listent toutes les id des commandbar, j'en ai plusieurs, mais pas ici. Patience donc pour les références. Pour info, j'ai du en trouver un ou deux sur le site de Stephen Bullen
 
A

andré

Guest
Salut Thierry,
Génial ton truc, chez moi (en néerlandais) c'est Alt +x (Extra), +d (Doelzoeken).
Facile d'en faire une petite macro avec bouton dans la barre d'outils.
Merci, et comme on peut le lire souvent sur XLD : on en apprend tous les jours.
André.
 
A

andré

Guest
Salut Ti, et merci, mais c'est un peu compliqué pour mon niveau.
Je suis de ceux avec une cervelle à 10.000 € les 100 grammes.
Je tiens quand même à te signaler que le listing a été traduit automatiquement, fameux non?
Mais ceci ne fait qu'apporter un peu d'eau au moulin de David : un problème de fond en comble par semaine et ainsi les petits poisons deviendront grands.
Qui commence, et avec quoi? Les tableaux croisés, les formules matricielles, les premiers balbutiements de VBA, ...
André.
 
T

Thierry

Guest
Merci Ti,

J'avais eu cette xla entre les doigts il y a bien longtemps... Merci
Oui donc grace à Ti, on peut te fignoler le tout pour André....

Je "récapapitule"... André

Dans ton personal.xls
En Module Standard
Sub CallGoalseek()
Application.CommandBars.FindControl(ID:=856).Execute
End Sub

En Module ThisWorkbook :
Private Sub Workbook_Open()
Application.OnKey "+^{G}", "CallGoalSeek" 'Si tu veux toujours de Keyboard ShortCut.... sinon tu vires
Call AddGoalSeekMenuContext
End sub

En module standard
Sub AddGoalSeekMenuContext ()
With Application.CommandBars("Cell").Controls.ADD(msoControlButton)
.Caption = "Goal Seek"
.BeginGroup = True
.OnAction = "CallGoalseek"
End With
End Sub

Pour rétablir (si nécessaire) deux méthodes ...

Sub SuppMenuContext()
Application.CommandBars("Cell").Controls("Goal Seek").Delete
End Sub

Sub ResetMenuContext()
Application.CommandBars("Cell").Reset
End Sub

La seconde bien entendu si tu n'as pas d'autres "customization" de ton menu contextuel... car "reset" te la remettra nickel-chrome d'origine...

Voilà je pense que tu n'as pas perdu ce Lundi
...à plus pour de nouvelles aventures XLD...

@+Thierry
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
314 078
Messages
2 105 468
Membres
109 375
dernier inscrit
anderson2