Insertion automatique Barre d'outils [Résolu]

Messages postés
83
Date d'inscription
jeudi 4 février 2010
Statut
Membre
Dernière intervention
8 juillet 2010
- - Dernière réponse : 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 ?
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
77
3
Merci
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)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 141 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Jack
Messages postés
83
Date d'inscription
jeudi 4 février 2010
Statut
Membre
Dernière intervention
8 juillet 2010
0
Merci
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".
Commenter la réponse de ptitemeuh
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
77
0
Merci
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 ?
Commenter la réponse de cs_Jack
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
77
0
Merci
PS : Ne jamais appeler une variable comme un type d'objet, c'est le bug assuré
Commenter la réponse de cs_Jack
Messages postés
83
Date d'inscription
jeudi 4 février 2010
Statut
Membre
Dernière intervention
8 juillet 2010
0
Merci
Salut,

Application.CommandBars ne fonctionne pas également.

Ces lignes se trouvent dans Outlook, plus précisément dans ThisOutlookSession.
Commenter la réponse de ptitemeuh
Messages postés
83
Date d'inscription
jeudi 4 février 2010
Statut
Membre
Dernière intervention
8 juillet 2010
0
Merci
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
Commenter la réponse de ptitemeuh

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.