• Initiateur de la discussion Initiateur de la discussion andré
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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
 
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
 
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é.
 
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é.
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
13
Affichages
398
Réponses
4
Affichages
403
Réponses
5
Affichages
377
  • Question Question
Réponses
2
Affichages
479
Retour