Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

xlDialog - restons sérieux ;-)

4 réponses
Avatar
GL
Bonjour,

Je cherche à faire afficher la boîte de dialogue
"Format de cellule" depuis VBA.

L'idée est d'y mettre un raccourcis : CTRL+SHIFT+1
fonctionne mais ouvre la boîte de dialogue sur
le dernier onglet utilisé.

J'aimerais que CTRL+SHIFT+2 ouvre par exemple sur
l'onglet "Bordure" et CTRL+SHIFT+3 sur l'onglet
"Remplissage".

Alors j'ai trouvé :
Application.Dialogs(xlDialogBorder).Show % Bordures
et Application.Dialogs(xlDialogPattern).Show % Remplissages

mais alors il n'y a plus d'onglets : seulement
les bordures ou les remplissages.

Donc : ce n'est pas possible ?????????

Bonne soirée.

4 réponses

Avatar
MichD
Bonjour,

À partir d'Excel 2007,

'---------------------------------------------
Sub test()

Application.CommandBars.ExecuteMso "FormatCellsDialog"

End Sub
'---------------------------------------------
Avatar
GL
Le 27/05/2014 01:53, MichD a écrit :
Bonjour,

À partir d'Excel 2007,

'---------------------------------------------
Sub test()

Application.CommandBars.ExecuteMso "FormatCellsDialog"

End Sub
'---------------------------------------------



Ah ok ! Bon c'est déjà ça. Mais c'est le raccourcis CTRL+1
(ou CTRL+SHIFT+& "^+{&}" pour les intimes ;-)

Donc ça existe déjà et je voudrais, si c'est possible,
ouvrir la boîte de dialogue sur un onglet donné (par exemple
remplissage) et non sur l'onglet précédemment utilisé...

Bonne journée.
Avatar
MichD
À la macro, tu peux attribuer le raccourci clavier de ton choix en utilisant la fenêtre des macros (Alt + F8) / options.

Sur ce coup, on ne peut pas utiliser la commande "Sendkeys"... la fenêtre retient l'onglet qui a été sélectionné lors de la
dernière ouverture de la fenêtre. Par conséquent, il est difficile de définir une séquence de touche particulière.
Avatar
GL
Le 27/05/2014 22:05, MichD a écrit :
À la macro, tu peux attribuer le raccourci clavier de ton choix en
utilisant la fenêtre des macros (Alt + F8) / options.

Sur ce coup, on ne peut pas utiliser la commande "Sendkeys"... la
fenêtre retient l'onglet qui a été sélectionné lors de la dernière
ouverture de la fenêtre. Par conséquent, il est difficile de définir une
séquence de touche particulière.



Non effectivement ça n'est pas possible (sauf mieux informé, mais
franchement, j'ai toute confiance !!)

Sinon j'ai dans mon classeur .xlam de macros préférées (XLstart)
une feuille :

Raccourci Procédure
^0 Encadrer
^{=} CadreInferieurDouble

etc. qui charge les raccourcis automatiquement au lancement
avec Application.Onkey (j'aime pas les 256 boîtes de dialogues !
qui ne comprennent même pas le "FormatCellsDialog"...)

De plus, quand je double clique sur la "Procédure", VBA s'ouvre
automatiquement sur ladite procédure
(avec l'objet VBProject.VBComponents)

Donc là, je pense être au point... c'est bien pratique.

Merci et Bonne soirée.