Insertion automatique Barre d'outils

Résolu
ptitemeuh Messages postés 83 Date d'inscription jeudi 4 février 2010 Statut Membre Dernière intervention 8 juillet 2010 - 10 mai 2010 à 14:37
ptitemeuh Messages postés 83 Date d'inscription jeudi 4 février 2010 Statut Membre Dernière intervention 8 juillet 2010 - 10 mai 2010 à 15:39
Bonjour à tous,

Je voudrais mettre en place une petite macro qui me permettrait d'afficher une barre d'outils lors que j'ouvre mon programme (Microsoft Office 2003). Voici mon code :

Private Sub Application_Startup()

Dim MaBarre As CommandBar
With MaBarre = CommandBars.Add("Fournisseurs", msoBarTop, False, False)
    .Visible = True
End With

End Sub


Toutefois, ce code contient une erreur lorsque j'ouvre le logiciel : Erreur d'exécution '91' : Variable objet ou variable de bloc With non définie.
J'ai beau regarder quelle est mon erreur par rapport à d'autres codes, je ne vois pas d'où vient mon erreur

D'où peut-elle venir ?

6 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
10 mai 2010 à 14:57
Salut
With ne peut pas être couplé à une autre commande.
Essaye ça :
    Dim MaBarre As CommandBar
    Set MaBarre = CommandBars.Add("Fournisseurs", msoBarTop, False, False)
    With MaBarre
        .Visible = True
    End With

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
3
ptitemeuh Messages postés 83 Date d'inscription jeudi 4 février 2010 Statut Membre Dernière intervention 8 juillet 2010
10 mai 2010 à 15:07
Salut,

J'ai modifié mais j'ai une autre erreur... "Erreur de compilation : Variable non définie" sur CommandBars.

Et lorsque je définie CommandBars par:

Dim CommandBars As CommandBars


Il me redonne la même erreur que précédemment avec "Erreur d'exécution '91' : Variable objet ou variable de bloc With non définie".
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
10 mai 2010 à 15:15
C'est qu'il doit falloir faire référence à l'objet qui supporte ces CommandBars : Application.CommandBars

Si tu nous disais sur quel objet se trouvent ces lignes :
Office 2003, Ok, mais Word, Excel, PowerPoint ?
Dans une la feuille ou le document, dans une UserForm, dans un Module ?
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
10 mai 2010 à 15:17
PS : Ne jamais appeler une variable comme un type d'objet, c'est le bug assuré
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ptitemeuh Messages postés 83 Date d'inscription jeudi 4 février 2010 Statut Membre Dernière intervention 8 juillet 2010
10 mai 2010 à 15:23
Salut,

Application.CommandBars ne fonctionne pas également.

Ces lignes se trouvent dans Outlook, plus précisément dans ThisOutlookSession.
0
ptitemeuh Messages postés 83 Date d'inscription jeudi 4 février 2010 Statut Membre Dernière intervention 8 juillet 2010
10 mai 2010 à 15:39
Salut,

Je viens de trouver !! En fait, il suffit d'ajouter avant CommandBars l'expression Outlook.Application.ActiveExplorer() à la place

Dim MaBarre As CommandBar
Set MaBarre = Outlook.Application.ActiveExplorer().CommandBars.Add("Fournisseurs", msoBarTop, False, False)
With MaBarre
    .Visible = True
    .Protection = msoBarNoMove + msoBarNoCustomize
End With



Merci de ton aide
0
Rejoignez-nous