begin process at 2012 02 13 07:18:47
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Langages dérivés

 > 

VBA

 > 

Barre de Menu et userform


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Barre de Menu et userform

mardi 30 juin 2009 à 10:00:28 | Barre de Menu et userform

dimud

Bonjour à tous,

Dans une petite application vba j'ai créer une barre de menu personnalisée regroupant des menus microsoft et des nouveaux menus.
Je souhaiterais pouvoir ouvrir une Userform lors d'un clic sur msobuttoncaption, j'ai essayer ".onaction" sous toutes les formes et je n'y arrive pas.

Quelqu'un a t il une idée à me soumettre ?

Merci d'avance
Dimud
mardi 30 juin 2009 à 10:34:37 | Re : Barre de Menu et userform

ghuysmans99

Membre Club
Réponse acceptée !
.OnAction = "nom de la fonction publique dans un module"
Signature.gif
mardi 30 juin 2009 à 15:24:10 | Re : Barre de Menu et userform

dimud

Merci,

C'est presque bon !
Ma forme apparait bien lorsque je clic sur le bouton dans le menu mais elle apparait aussi à chaque fois que j'active la fenetre.

Quelques complements :  
Je veux que seule cette barre d'outil soit accessible à partir de mon fichier XLS, les barres standard sont  alors masquées. Ces opération sont générées à partir de workbook_activate.
A l'inverse si j'ouvre un autre fichier ou que je bascule vers un autre fichier excel, je masque ma barre perso et affiche les barres par défaut. à partir de workbook_deactivate.

Que dois je faire pour corriger cette anomalie ?

Voici mon code :


Private Sub Workbook_Activate()
Dim i As Integer
Dim Cmdbar As CommandBar
Dim CmdPop As CommandBarPopup
Dim CmdBut1 As CommandBarButton
Dim CmdBut2 As CommandBarButton
Dim CmdBut3 As CommandBarButton


' Mise en forme de la fenêtre de l'application
With Application
    .ScreenUpdating = False
    .WindowState = xlNormal
    .Left = 0
    .Top = 0
    .DisplayScrollBars = False
    .DisplayFormulaBar = False
End With
ActiveWindow.WindowState = xlMaximized
Range("A1").Select

'Masque les barres d'outil et de commande afficher par défault dans Excel
For i = 1 To Application.CommandBars.Count
    If Application.CommandBars.Item(i).Visible = True Then
        Application.CommandBars.Item(i).Enabled = False
    End If
Next

'Créer une Barre de Menu personnalisée
Set Cmdbar = Application.CommandBars.Add("TooL UNHAJ", msoBarTop, False, True)

With Cmdbar
    .Visible = True
    .Protection = msoBarNoMove + msoBarNoCustomize + msoBarNoResize
    .Controls.Add Type:=msoControlButton, ID:=2520, Before:=1
    .Controls.Add Type:=msoControlButton, ID:=23, Before:=2
    .Controls.Add Type:=msoControlPopup, ID:=30009, Before:=3
    .Controls("fenêtre").Controls("Nouvelle fenêtre").Delete
    .Controls("fenêtre").Controls("Masquer").Delete
    .Controls("fenêtre").Controls("Afficher...").Delete
    .Controls("fenêtre").Controls("Fractionner").Delete
    .Controls("fenêtre").Controls("Figer les volets").Delete
End With

Set CmdPop = Cmdbar.Controls.Add(msoControlPopup, , , 4, True)
With CmdPop
    .Caption = "?"
End With

Set CmdBut1 = CmdPop.Controls.Add(msoControlButton, , , 1, True)
With CmdBut1
    .Style = msoButtonCaption
    .Caption = "S'inscrire sur la liste de diffusion"
    .OnAction = "OpenUserForm23Inscription"
    .Execute
End With

Set CmdBut2 = CmdPop.Controls.Add(msoControlButton, , , 2, True)
With CmdBut2
    .Style = msoButtonCaption
    .Caption = "Nous contacter..."
End With

Set CmdBut3 = CmdPop.Controls.Add(msoControlButton, , , 3, True)
With CmdBut3
    .Style = msoButtonCaption
    .Caption = "A propos de TooL UNHAJ..."
    .BeginGroup = True
    
End With
Set CmdBut3 = Nothing
Set CmdBut2 = Nothing
Set CmdBut1 = Nothing
Set CmdPop = Nothing
Set Cmdbar = Nothing


End Sub


Private Sub Workbook_Deactivate()
Dim i As Integer

ScreenUpdating = False

'Initialisation de la fenêtre Excel lorsque TooL UNHAJ est desactivé ou fermé
With Application
    .WindowState = xlMaximized
    .DisplayScrollBars = True
    .DisplayFormulaBar = True
End With

'Initialise et affiche les Barres par défaut
For i = 1 To Application.CommandBars.Count
    Application.CommandBars.Item(i).Enabled = True
Next
Application.CommandBars("TooL UNHAJ").Controls("fenêtre").Reset

'Masque la Barre Personnalisée
Application.CommandBars("TooL UNHAJ").Delete
End Sub
mardi 30 juin 2009 à 16:23:05 | Re : Barre de Menu et userform

dimud

J'ai touvé !!!

Merci ghuysmans99


Cette discussion est classée dans : menu, barre, userform, menus


Répondre à ce message

Sujets en rapport avec ce message

Barre de menu et Access [ par anspauldou ] Salutje voudrai un code en VB6 qui me permettra de faire une barre de menu general dont la liste des menus et sous menu proviennent des enregistrement menus et barre d'état [ par nono14 ] j'ai créé une barre de menu avec le createur de menu.J'aimerais afficher un commentaire dans la barre d'état en fonction du menu selectionné.Comment d supprimer un menu dans ma barre de menu [ par lespritpur ] Bonjour,Dans une application que j'avais bricolé sous excel 95 (et en francais), je m'étais configuré des menus et sous menus personalisés.Cette fonct Barre de menu dans le userform en VBA excel [ par vanestersimo ] bonjour , je suis un peu débutant en VBA excel , je voulais créer une fenêtre vide qui contient juste la barre de menu ( fichier , affichage , éditio Ajout bouton non-contextuel dans "Worksheet menu bar" [ par Cyt7500 ] Bonjour, Je vous écris parce que ca fait un moment (plusieurs jours ...[^^sad2]) que je cherche la solution mon probleme de menu contextuel. C'est Barre de menu VBA Word dynamique (ou presque) [ par iloyer ] Bonjour, J'ai créé une nouvelle barre de menu Word. J'y au inclu tous les menus nécessaires. Néanmoins sachant que cette nouvelle barre comporte u Flasher un code barre dans un UserForm [ par mancelboutique ] Bonjour à tous,Question sur UserForm : Je travail ma facturation pour l'envoi d'un colis, avec un fichier Excel, je pars d'un format réel (aspect d'un menu strip vertical avec N menus à hauteur fixe [ par guilleto ] Bonjour à toutes et tous, Je voudrais savoir s'il est possible de réaliser un MenuStrip vertical (DOCK LEFT) avec N menus ayant tous la même hauteur crée fichier comme celle de la barre de menu [ par marwakarim ] Salut je veux crée dans une form on haut de la form un fichier ou on peut trouver par exemple menu,ajouter quitter ,menu ,principal ...comme celle de


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,577 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales