begin process at 2010 02 10 13:09:08
  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 Menu style outlook [ par Pirotes31 ] Bonjour,j'ai vu qu'il existait plusieurs codes pour créer des menus style Outlook, mais tous codés en VB.NETEst-ce possible de faire le même type de m Barres de menu et sous menu [ par elolydie ] Bonjour,Je cherche à créer une barre de menu personnalisée qui contient des sous menus.Mon problème est de réussir à créer les boutons dand ce sous me Noter des commentaires dans la barre d'état lors du PARCOURS d'un menu [ par hectorticoli ] Bonjour     Je voudrais savoir comment faire pour afficher un commentaire lorsque le curseur de la souris se trouve sur un menu. Je sais comment note HELP : Masquer la barre de tâche et menu démarrer windows [ par VinyDev ] Bonjours à tous,J'aimerais savoir comment faire pour masquer la barre des tâches windows (barre du menu démarrer) par du code vbQuelqu'un a-t-il la so Problème menus access [ par mapaxalo ] Bonjour, Sous access 97, lorsque je créée une nouvelle barre de menu, je lui adjoint du code d'un module (ouverture d'un formulaire avec filtre). Aprè Outlook et ces barre d'outils - HELP !!! [ par white_mage ] Voilà mon problème (une fois de plus un peu ordu)...J'ai un add-in pour outlook. Lors du chargement de cet add-in, je crée une barre d?outils + un men [.net] Cacher la barre du menu demarrer ? [ par Oueb ] Salut, je cherche désespérement comment cacher la berre du menu démarrer avec VB.net mais pas moyen je ne troouve aucune api documentté ni lcé de regi


Nos sponsors


Sondage...

Comparez les prix


HTC Hero

Entre 550€ et 550€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

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,780 sec (3)

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