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

Le
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.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Méta-MCI (MVP)
Le #679920
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
manu
Le #679913
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.
Publicité
Poster une réponse
Anonyme