Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Général VBA > Contribuez
Contribuez Proposez vos articles, cours, tutoriels, faq, codes sources, astuces pour VBA
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/01/2007, 01h27   #1
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Par défaut [Sources]Créer un bouton dans une barre d'outils

Place un bouton après le dernier bouton de la barre "Standard" et lui affecte la macro "NomMacroAssociée" à l'ouverture du classeur et le supprime à la fermeture.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Sub Auto_open()
    Application.EnableEvents = True
    Call CréerBouton
End Sub
 
Sub CréerBouton()
Dim nbboutons As Byte
    Set MonControl = Application.CommandBars("Standard")
    With MonControl
        nbboutons = .Controls.Count
        Set MonBouton = .Controls.Add(msoControlButton, 2950, nbboutons)
            With MonBouton
                .Caption = "Recettes"
                .OnAction = "NomMacroAssociée"
            End With
        Set MonBouton = Nothing
    End With
    Set MonControl = Nothing
End Sub
 
Sub Auto_Close()
    Call SupprimerBouton
End Sub
 
Sub SupprimerBouton()
    Application.CommandBars("Standard").Controls(Application.CommandBars("Standard").Controls.Count).Delete
End Sub
Edit
Une question sur le forum me fait préciser que ce code est à placer dans un module standard -> Editeur VB -> Insertion -> Module
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2007, 19h17   #2
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 777
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 777
Points : 16 855
Points : 16 855
Envoyer un message via Skype™ à bbil
bonsoir ouskel'n'or... .

Juste une question, peu-tu m'expliquer l'utilité du "Application.EnableEvents".. en tête de ton code .. ? sa présence est-elle volontaire..?
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2007, 12h32   #3
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Hello bbil,
Oui, ça dépend où tu places la macro auto_open
Si tu mets Workbook_Open dans un module au lieu de le placer dans ThisWorkbook, cette ligne est nécessaire pour que la macro s'exécute. J'ignore (encore) si celà provient d'un niveau de sécurité mais j'ai remarqué ça. On a déjà eu une discussion sur le fonctionnement de Workbook_Open sur le forum et j'avais proposé la solution. L'intéressé affirmait que Workbook_Open (placé dans un module standard) ne fonctionnait pas dans 2003.
Je n'ai pas de meilleurs explications
A+
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h25.


 
 
 
 
Partenaires

Hébergement Web