Documente Academic
Documente Profesional
Documente Cultură
Access 2007 permet d'utiliser les anciens menus pour les bases aux formats MDB ou MDE
Remplacement du ruban par des menus dans Access 2007 par Jean-Damien GAYOT (Page personnelle)
I - Introduction..............................................................................................................................................................3 I-A - Illustration....................................................................................................................................................... 3 II - Mise en application................................................................................................................................................ 4 II-A - Principes de fonctionnement.........................................................................................................................4 II-B - Application..................................................................................................................................................... 4 II-B-1 - Code Vba..............................................................................................................................................6 II-B-1-a - Module Fonctions.........................................................................................................................6 II-B-1-b - Module Menus............................................................................................................................. 7 II-B-1-c - Code Formulaire Menu Gnral.................................................................................................. 8 II-B-1-d - Code Formulaire 1....................................................................................................................... 9 II-B-1-e - Code Formulaire 2..................................................................................................................... 10 II-B-2 - Options de dmarrage........................................................................................................................10 III - Conclusion...........................................................................................................................................................11 IV - Remerciements................................................................................................................................................... 11
-2Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 - Jean-Damien GAYOT. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://jdgayot.developpez.com/tutoriels/access/remplacement-ruban-par-menus-dans-access-2007/
Remplacement du ruban par des menus dans Access 2007 par Jean-Damien GAYOT (Page personnelle)
I - Introduction
L'une des nouveauts les plus visibles d'Office 2007, a t le remplacement des menus par le ruban. Deux camps se sont aussitt forms : Les inconditionnels ne voulant plus entendre parler de menu. Les rfractaires dconcerts par la place occupe et par le changement de langage ncessaire la personnalisation. du ruban
Or il s'avre que, pour ceux qui le souhaitent, l'on peut tout fait supprimer le ruban dans une application et le remplacer par des menus personnalisables. Cela ne peut fonctionner qu'avec des fichiers .mdb ou .mde. Pour les fichiers au nouveau format 2007 .accdb et .accde, vous devez passer directement la configuration du ruban.
I-A - Illustration
Voici une base d'une version 2000-2003, ouverte avec Access 2007, avec son menu dans l'onglet Complments du ruban.
-3Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 - Jean-Damien GAYOT. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://jdgayot.developpez.com/tutoriels/access/remplacement-ruban-par-menus-dans-access-2007/
Remplacement du ruban par des menus dans Access 2007 par Jean-Damien GAYOT (Page personnelle)
II-B - Application
Pour tayer notre propos nous allons simuler une application avec trois formulaires. - Un formulaire Menu gnral "Frm_Accueil" avec un menu popup "Fichier" et un menu popup "Edition"
-4Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 - Jean-Damien GAYOT. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://jdgayot.developpez.com/tutoriels/access/remplacement-ruban-par-menus-dans-access-2007/
Remplacement du ruban par des menus dans Access 2007 par Jean-Damien GAYOT (Page personnelle)
- Un formulaire N2 "Frm_2" avec un menu popup "Fichier", des boutons de filtre, tri , recherche et retour sur le menu gnral.
-5Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 - Jean-Damien GAYOT. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://jdgayot.developpez.com/tutoriels/access/remplacement-ruban-par-menus-dans-access-2007/
Remplacement du ruban par des menus dans Access 2007 par Jean-Damien GAYOT (Page personnelle)
Remplacement du ruban par des menus dans Access 2007 par Jean-Damien GAYOT (Page personnelle)
On Error Resume Next Application.CommandBars("MyMenu").Delete ' On cre la barre de menu Set cmb = Application.CommandBars.Add("MyMenu", msoBarTop, True, False) ' On cre le menu fichier Set cmbFic = cmb.Controls.Add(msoControlPopup) cmbFic.Caption = "&Fichier" 'On Set Set Set ajoute les boutons Apercu, Mise en page et Imprimer btn = cmbFic.Controls.Add(msoControlButton, 247) btn = cmbFic.Controls.Add(msoControlButton, 109) btn = cmbFic.Controls.Add(msoControlButton, 4)
'On Ajoute le bouton Filtre Set cmbBtn1 = cmb.Controls.Add(msoControlButton, 640) -7Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 - Jean-Damien GAYOT. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://jdgayot.developpez.com/tutoriels/access/remplacement-ruban-par-menus-dans-access-2007/
Remplacement du ruban par des menus dans Access 2007 par Jean-Damien GAYOT (Page personnelle)
cmbBtn2.BeginGroup = True 'On Ajoute le bouton "Tous les enregistrements" Set cmbBtn2 = cmb.Controls.Add(msoControlButton, 605) ' Ajout sur la barre du bouton "Recherche" Set cmbBtn3 = cmb.Controls.Add(msoControlButton, 141) cmbBtn3.BeginGroup = True ' Ajout sur la barre du bouton "Tri croissant" Set cmbBtn4 = cmb.Controls.Add(msoControlButton) With cmbBtn4 .Style = msoButtonIcon .BeginGroup = True .FaceId = 210 .TooltipText = "Tri croissant" .OnAction = "=Tri_croissant()" End With ' Ajout sur la barre du bouton "Tri dcroissant" Set cmbBtn5 = cmb.Controls.Add(msoControlButton) With cmbBtn5 .Style = msoButtonIcon .BeginGroup = False .FaceId = 211 .TooltipText = "Tri dcroissant" .OnAction = "=Tri_decroissant()" End With ' Ajout sur la barre du bouton "Retour accueil" Set cmbBtn6 = cmb.Controls.Add(msoControlButton) With cmbBtn6 .Caption = "Retour Accueil" .Style = msoButtonIconAndCaption .BeginGroup = True .FaceId = 2151 .TooltipText = "Retour au menu principal" .OnAction = "=Retour()" End With
cmb.Visible = True End Function Public Function CreateMenuGen() ' Cration de la barre de menus du formulaire Dim cmb As Office.CommandBar Dim cmbFic As Office.CommandBarPopup On Error Resume Next Application.MenuBar = "" Application.CommandBars("MyMenu").Delete Set cmb = Application.CommandBars.Add("MyMenu", msoBarTop, True, False) ' ajout du menu popup "fichier" Set cmbFic = Application.CommandBars("Menu Bar").Controls(1) cmbFic.Copy cmb ' ajout du menu popup "Edition" Set cmbFic = Application.CommandBars("Menu Bar").Controls(2) cmbFic.Copy cmb Call CreatePropertyMenu cmb.Visible = True End Function d'accueil
Remplacement du ruban par des menus dans Access 2007 par Jean-Damien GAYOT (Page personnelle)
Code Frm_Accueil
Option Explicit Private Sub Cmd_OpenForm1_Click() On Error GoTo Err_Cmd_OpenForm1_Click Dim stDocName As String DoCmd.RunCommand acCmdWindowHide stDocName = "Frm_1" DoCmd.OpenForm stDocName, acNormal Exit_Cmd_OpenForm1_Click: Exit Sub Err_Cmd_OpenForm1_Click: MsgBox Err.Description Resume Exit_Cmd_OpenForm1_Click End Sub Private Sub Cmd_OpenForm2_Click() On Error GoTo Err_Cmd_OpenForm2_Click Dim stDocName As String 'Ouvre le formulaire Frm_2 Application.Echo False DoCmd.RunCommand acCmdWindowHide stDocName = "Frm_2" DoCmd.OpenForm stDocName, acNormal DoCmd.Maximize 'transforme la barre de menus du formulaire 2 Call CreateMenu Application.Echo True Exit_Cmd_OpenForm2_Click: Exit Sub Err_Cmd_OpenForm2_Click: MsgBox Err.Description Resume Exit_Cmd_OpenForm2_Click End Sub Private Sub Form_Load() 'rend la barre de menus visible l'ouverture DoCmd.ShowToolbar "MyMenu", acToolbarYes End Sub
-9Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 - Jean-Damien GAYOT. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://jdgayot.developpez.com/tutoriels/access/remplacement-ruban-par-menus-dans-access-2007/
Remplacement du ruban par des menus dans Access 2007 par Jean-Damien GAYOT (Page personnelle)
Code Frm_1
End Sub
Resume Exit_Cmd_Retour_Click
Pour paramtrer ces proprits nous allons ajouter les codes suivants dans le module " Menus " Code Module Menus
Function ModifProp(chNomPropriete As String, varTypeProp As Variant, varValeurProp As Variant) As Integer Dim MyDb As DAO.Database Dim prp As DAO.Property Const conErreurPropNonTrouvee = 3270 'code erreur si proprit non trouve Set MyDb = CurrentDb On Error GoTo Change_Err MyDb.Properties(chNomPropriete) = varValeurProp ModifProp = True Exit Function Change_Err: If Err = conErreurPropNonTrouvee Then 'Cre la proprit Set prp = MyDb.CreateProperty(chNomPropriete, varTypeProp, varValeurProp) MyDb.Properties.Append prp Resume Next Else ModifProp = False Exit Function End If End Function Public Function CreatePropertyMenu() Call ModifProp("AllowBuiltInToolbars", dbBoolean, False) Call ModifProp("AllowFullMenus", dbBoolean, False) Call ModifProp("StartUpMenuBar", dbText, "MyMenu") Call ModifProp("StartUpForm", dbText, "") 'refuse 'refuse 'nom du 'Pas de les menus intgrs les menus complets menu l'ouverture formulaire au dmarrage
- 10 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 - Jean-Damien GAYOT. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://jdgayot.developpez.com/tutoriels/access/remplacement-ruban-par-menus-dans-access-2007/
Remplacement du ruban par des menus dans Access 2007 par Jean-Damien GAYOT (Page personnelle)
Crons une procdure lancer au dmarrage. Pour cela un petit module " Load "
Il ne reste plus qu' crer une macro autoexec lanant la fonction " demarrage () " Voil c'est termin. Vous pouvez ouvrir votre application et voir le rsultat. Ne pas oublier que vous avez la touche Maj au dmarrage pour revenir aux menus normaux.
III - Conclusion
Je n'ai pas cr ce processus pour m'opposer aux adeptes du Ruban (dont je me sers rgulirement), mais simplement pour montrer que l'on peut tout fait opter pour une solution autre que celle impose. Cela s'apparente un peu du bricolage et cela peut sembler compliqu, mais une fois cr quelques menus standards, cela devient presque aussi facile qu'avant. Si les menus sont crs de cette faon dans les versions antrieures, ils pourront tre lus sans problme avec Access 2007 et vous pourrez les modifier votre guise. Vous pouvez ainsi anticiper la transition. Mon regret est bien sr que cela ne fonctionne pas avec les nouveaux formats d'Access. Vous pouvez tlcharger le fichier servant d'exemple A noter que ces applications fonctionnent avec le Runtime.
IV - Remerciements
Je tiens remercier tout particulirement Domi2, Philippe JOCHMANS, Tofalu, Pierre FAUCONNIER et l'quipe des rdacteurs Office pour leur patience et leur accueil.
- 11 Les sources prsentes sur cette pages sont libres de droits, et vous pouvez les utiliser votre convenance. Par contre la page de prsentation de ces sources constitue une oeuvre intellectuelle protge par les droits d'auteurs. Copyright 2009 - Jean-Damien GAYOT. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://jdgayot.developpez.com/tutoriels/access/remplacement-ruban-par-menus-dans-access-2007/