begin process at 2010 02 10 04:43:16
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

VBA

 > MODIFIER VOTRE BARRE DE MENU EXCEL

MODIFIER VOTRE BARRE DE MENU EXCEL


 Information sur la source

Note :
Aucune note
Catégorie :VBA Classé sous :menu, excel, barre, outil, personnaliser Niveau :Débutant Date de création :02/01/2006 Vu :22 530

Auteur : chapata

Ecrire un message privé
Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

 Description

Ici, ma deuxieme source en VBA.
Il vous permet d'ajouter un nouveau menu à votre barre de menu excel (surement apllicable à Access et toute appli microsoft) avec des sous menus ... qui sont directement associés à vos programme.
Pas de Zip ... juste du code ... copier coller.

Source

  • 'dans ThisWoorkBook ajouter ...
  • Private Sub Workbook_Open()
  • Créer_Menu
  • End Sub
  • Private Sub Workbook_BeforeClose(Cancel As Boolean)
  • Effacer_Menu
  • End Sub
  • 'dans un nouveau module ajouter ...
  • Function Créer_Menu()
  • For Z = 1 To CommandBars(1).Controls.Count
  • If CommandBars(1).Controls(Z).Caption = "Mon Menu Perso" Then Exit Function
  • Next
  • With CommandBars(1).Controls.Add(msoControlPopup, before:=10)
  • .Caption = "Mon Menu Perso"
  • With .Controls.Add(msoControlPopup)
  • .Caption = "Menu 1"
  • With .Controls.Add(msoControlButton)
  • .Caption = "Sous Menu 1.1"
  • .OnAction = ""'entre les guillemets : nom de votre procédure
  • End With
  • With .Controls.Add(msoControlButton)
  • .Caption = "Sous menu 2.1"
  • .OnAction = ""'entre les guillemets : nom de votre procédure
  • End With
  • With .Controls.Add(msoControlButton)
  • .Caption = "Sous menu 3.1"
  • .OnAction = ""'entre les guillemets : nom de votre procédure
  • End With
  • End With
  • '2e Bouton Saisie
  • With .Controls.Add(msoControlPopup)
  • .Caption = "Menu 2"
  • With .Controls.Add(msoControlButton)
  • .Caption = "Sous menu 2.1"
  • .OnAction = ""'entre les guillemets : nom de votre procédure
  • End With
  • With .Controls.Add(msoControlButton)
  • .Caption = "Sous menu 2.2"
  • .OnAction = ""'entre les guillemets : nom de votre procédure
  • End With
  • End With
  • '3e Boutton
  • With .Controls.Add(msoControlButton)
  • .Caption = "Menu 3"
  • .OnAction = ""'entre les guillemets : nom de votre procédure
  • End With
  • End With
  • MsgBox "Veuillez lancer les programmes dans la barre de Menu.", vbInformation, "Votre Menu Perso"
  • End Function
  • '******************************************************************
  • Function Effacer_Menu()
  • Next_Z:
  • For Z = 1 To CommandBars(1).Controls.Count
  • If CommandBars(1).Controls(Z).Caption = "Mon Menu Perso" Then
  • CommandBars(1).Controls("Mon Menu Perso").Delete
  • GoTo Next_Z
  • End If
  • Next
  • '****************************************************************
  • End Function
'dans ThisWoorkBook ajouter ...
Private Sub Workbook_Open()
Créer_Menu
End Sub


Private Sub Workbook_BeforeClose(Cancel As Boolean)
Effacer_Menu
End Sub

'dans un nouveau module ajouter ...
Function Créer_Menu()

For Z = 1 To CommandBars(1).Controls.Count
If CommandBars(1).Controls(Z).Caption = "Mon Menu Perso" Then Exit Function
Next

With CommandBars(1).Controls.Add(msoControlPopup, before:=10)
    .Caption = "Mon Menu Perso"

    With .Controls.Add(msoControlPopup)
        .Caption = "Menu 1"
        With .Controls.Add(msoControlButton)
            .Caption = "Sous Menu 1.1"
            .OnAction = ""'entre les guillemets : nom de votre procédure
        End With
        With .Controls.Add(msoControlButton)
            .Caption = "Sous menu 2.1"
            .OnAction = ""'entre les guillemets : nom de votre procédure
        End With
        With .Controls.Add(msoControlButton)
            .Caption = "Sous menu 3.1"
            .OnAction = ""'entre les guillemets : nom de votre procédure
        End With
    End With
    '2e Bouton Saisie 
    With .Controls.Add(msoControlPopup)
        .Caption = "Menu 2"
        With .Controls.Add(msoControlButton)
            .Caption = "Sous menu 2.1"
            .OnAction = ""'entre les guillemets : nom de votre procédure
        End With
        With .Controls.Add(msoControlButton)
            .Caption = "Sous menu 2.2"
            .OnAction = ""'entre les guillemets : nom de votre procédure
        End With
    End With
    '3e Boutton 
    With .Controls.Add(msoControlButton)
        .Caption = "Menu 3"
        .OnAction = ""'entre les guillemets : nom de votre procédure
    End With
        
End With
MsgBox "Veuillez lancer les programmes dans la barre de Menu.", vbInformation, "Votre Menu Perso"
End Function

'******************************************************************
Function Effacer_Menu()

Next_Z:
For Z = 1 To CommandBars(1).Controls.Count
If CommandBars(1).Controls(Z).Caption = "Mon Menu Perso" Then
    CommandBars(1).Controls("Mon Menu Perso").Delete
    GoTo Next_Z
End If
Next

'****************************************************************



End Function


 Conclusion

Voila ... c'est pas grand chose ... mais cela pourra servir à quelques personnes ... enfin j'èspere (lol)

Je n'ai pas essayer, mais cela doit etre possible sous toutes les applis microsoft


Bonne Prog


 Sources du même auteur

MODIFIER LE MENU CONTEXTUEL DE LA SOURIS (CODE VBA EXCEL)
CONNECTION INTERNET VIA VBA

 Sources de la même categorie

Source avec Zip Source avec une capture METTRE À JOUR MASSIVEMENT L’ACTIVE DIRECTORY par legranche
SUPPRESSION DES DOUBLONS DANS PLAGE EXCEL par ucfoutu
Source avec Zip Source avec une capture SIMULATEUR DE VITESSE. par artgile
Source avec Zip Source avec une capture EDITEUR DE COMANDE VB6 ET VBA EXCEL par artgile
Source avec Zip Source avec une capture VBA EXCEL AFFICHER UN NUANCIER DES COULEURS AFIN DE CHOISIR ... par BILLOTmi

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture DÉMINEUR VBA EXCEL par SylvainDev
Source avec Zip Source avec une capture VBA EXCEL AFFICHER UN NUANCIER DES COULEURS AFIN DE CHOISIR ... par BILLOTmi
Source avec Zip Source avec une capture EXCEL OPERATIONS TOUT par us_30
Source avec Zip Source avec une capture Source .NET (Dotnet) MENU STYLE VOLET DES TACHES SOUS XP par nietseb
Source avec Zip Source avec une capture BARRE À GAUCHE DÉFILANTE par rimas10

Commentaires et avis

Commentaire de cs_66 le 09/02/2006 12:19:34

Merci Chapata - Je me suis inspiré de tes lignes pour simplifier mon code et ça marche très bien (sous Excel) !!!
Je n'ai pas l'habitude d'utiliser "FUNCTION - END FUNCTION". Comme je vois que tu t'en sers, pourrais-tu me renseigner succintement sur son avantage, par rapport à "SUB - END SUB".
Merci encore et à +
CS

Commentaire de jpsonza le 23/03/2006 10:15:34

Ta question est un peu biz, mais suffit d'aller dans Insertion/Procedure de ton code pour voir les choix possible

Sub
bla bla bla
End Sub

Function
bla bla bla
End function

Commentaire de GMY le 19/04/2006 14:09:04

Function et Sub ont des usages différents.

Sub est une procédure, elle exécute du code et agit sur les variables en qui sont en entrée/sortie

Function est une fonction, c'est une procédure qui peut renvoyer une valeur, la syntawe est :
Function MaFonction(MesParametres) as TypeRenvoyé
...code
MaFonction = UneValeur 'Du même type que le type renvoyé
End Function

J'utilise souvent les fonctions pour retourner un booléen si la fonction c'est bien ou mal passé, ou alors pour retourner une  valeur calculée à partir des paramètres.

Commentaire de cs_66 le 20/04/2006 09:09:49

C'est ce que je voulais savoir - merci pour l'explication et bonne continuation à tous.
Salut.

Commentaire de Djibril2 le 23/05/2006 10:52:21

C'est très clair, Merci !

Est-il possible d'ajouter des Info-Bulles ? .ControlTipText
ou encore un message dans la barre de tache ? .StatusBar

Merci
Greg

Commentaire de chapata le 23/05/2006 11:09:56

Salut ...
des info bulles dans la barre de menu... je ne crois pas . Mais cela ne coute rien d'essayer

Pour ce qui est du message dans la barre du stattu ... tout est possible !
tu peux la modifier à chaque fois que tu effectue une action avec une macro.
je n'ai plus le code sous les yeux, mais il me semble que c'est un truc dans ce genre :


Application.StatusBar = "Mon nouveau Statu ... Coucou ..." 'Changer le statu
Application.StatusBar = False ' réinitialiser le statu
Application.DisplayStatusBar = False 'Cache la barre de statu
Application.DisplayStatusBar = True 'affiche la barre de statu

Chapat'

Commentaire de supertet le 04/12/2008 12:26:57

Bonjour,

Super et cela fonctionne bien!

Mais n'ayant que peut l'habitude en vba, comment tu associe une action  (exemple colorier une cellule) suite au clic sur par exempel : Sous menu 1.1??

D'avance merci bàt

Commentaire de chapata le 04/12/2008 21:50:42

Salut,
tu crée une fonction
Function ColoriseParExemple()
ActiveCell.Interior.ColorIndex = 9 ' par exemple
End Function

Et tu applique la fonction, a OnAction du sous menu

A Plus

Commentaire de supertet le 05/12/2008 09:56:05

Ok, et merci!

Vive les forums!!

Bonne journée!

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

menu et barre outil sous excel [ par jraynald ] J?ai créé une petite application VBA sous excel, mais comment supprimer tous les menu et barre d?outils pour les remplacer par la suite par les mienne enleve toutes les barres d'outil [ par oliv76n ] Bonjours,Je viens de fini mon projet et je souhaiterai y enveler toutes les barres d'outils, ainsi que 'la barre de menu'.J'ai déjà fais dans 'Personn Barre de menu "comme dans Excel" [ par Duke Nukem ] Salut ,Est il possible de créer dans un userform des boutons qui soient completement "plats" et qui réagissent lorsque la souris passe dessus ( ils pa excel rubrique du menu disparu [ par jraynald ] Voila je me retrouve avec un excel dont la barre de menu c'est trouvé diminué de plusieurs catégorie (fichier, donnée et autre), comment restaurer la Supprimer une barre d'outil par le code [ par florantanplan ] Ce bout de code est sensé supprimer une barre dans excel 2000: Set objXL = New Excel.Application objXL.DisplayAlerts = False objXL.Visible = Excel sous Citrix [ par Viviane ] Bonjour !J'ai une aplli VB qui ouvre des feuilles xls. Ces feuilles contiennent une barre de menu qui activent des icones.Ex : Barre de menu : Fl Iconbes personnalisées dans une barre d'outil sous excel [ par Chouchensb ] Bonjour à tous,Alors voilà, j'ai déjà posé plusieurs fois ma question mais je n'ai jamais obtenu de réponse (sniffff ).D Divers Pb Excel VBA [ par calice23 ] Bonjour, j'ai différents problemes à résoudre.tout d'abord, je voudrais avoir une ligne de code qui permet d'enlever les messages de confirmations qu' désactiverla barre de menu standard dans excel [ par Daydayer ] je voudrais rendre inactive  la barre de menu standard des fichiers excel. En effet, je vais créer une barre de menu spéciali Personnalisation barre d'outil sous Excel [ par btou81 ] Bonjour,J'ai créé et attribué une barre d'outils spécifique pour un tableau EXCEL.Cette barre d'outil s'ouvre exclusivem


Nos sponsors


Sondage...

Comparez les prix

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