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

VBA EXCEL 2003 / Controls("&Forme automatique...").Execute

2 réponses
Avatar
manu
Bonjour,
Voici le pb que je rencontre +sieurs personnes ont essaye de m'aider en vain
:c
En clickant sur un Shape rattaché au module ci-dessous, un utilisateur
accède directement au réglages "Couleurs et traits" de ce dernier:

Public Sub FOND_Click()
Dim ShpFOND As Shape
ActiveSheet.Unprotect
Set ShpFOND = ActiveSheet.Shapes(Application.Caller)
ShpFOND.Select
Application.CommandBars("Worksheet Menu Bar").Controls("Format"). _
Controls("&Forme automatique...").Execute
'je ne sais dailleurs pas comment désactiver les autres onglets
ActiveSheet.Protect
End Sub

Mais la ligne Application.CommandBars me pose pb.
En effet, lorsque je n'ai pas "initié" Excel à ce menu...
en clickant avec ma souris sur le menu "Format" puis "Forme
automatique"
...Cette ligne de code créé une erreur.
C'est vraiment énervant, merci bcp si vous pouvez m'aider.

2 réponses

Avatar
Méta-MCI (MVP)
Bonjour !

Et en remplaçant la ligne en question par une commande VBA ?

Avec un truc un peu dans ce genre :

Selection.AutoFormat Format:=xlRangeAutoFormatSimple, Number:=True, Font _
:=True, Alignment:=True, Border:=True, Pattern:=True, Width:=True


Pour obtenir cette commande, j'ai simplement activé l'enregistreur de macros, appelé le format
automatique, par le menu, puis j'ai lu le contenu de la macro.


@+

Michel Claveau
Avatar
manu
Bonjour Michel,

La commande AutoFormat s'applique à une Range et non à une Forme.
Mon Souci est en fait (je crois) de charger en mémoire le contrôle:

Application.CommandBars("Worksheet Menu Bar").Controls("Format"). _
Controls("&Forme automatique...").Execute

...Sans utiliser la souris.