OVH Cloud OVH Cloud

MENU CONTEXTUEL PERSONNALISE

7 réponses
Avatar
BRUNO
En cliquant sur le menu "Outils" puis "personnaliser", j'ai vu que j'avais un
nombre incalculable de "menu contextuel personnalisé" avec chacun un numéro.
Qui peut me dire:
1) Si c'est mon programme qui les a créé, ou si ils sont d'origine.
2) Si c'est eux qui font que mon programme est de plus en plus long à charger
3) Et s'ils sont de mon fait, comment faire pour les enlever et ne plus les
créer.

Bonne année 2006 à tous et merci à ceux qui peuvent m'aider

7 réponses

Avatar
3stone
Salut,

"BRUNO"
| En cliquant sur le menu "Outils" puis "personnaliser", j'ai vu que j'avais un
| nombre incalculable de "menu contextuel personnalisé" avec chacun un numéro.
| Qui peut me dire:
| 1) Si c'est mon programme qui les a créé, ou si ils sont d'origine.
| 2) Si c'est eux qui font que mon programme est de plus en plus long à charger
| 3) Et s'ils sont de mon fait, comment faire pour les enlever et ne plus les
| créer.


Soit c'est toi qui les a créés (mais tu le saurais ;-)

Soit c'est ton prog qui les créent, mais dans ce cas, tu devrais
savoir si tu utilise du code qui manipule les barres de menu !!!
Si oui, tu as intérêt à controler ton code...

Pour les supprimer... tu as pas vu le bouton "Supprimer" à coté ?


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
BRUNO
Effectivement mon programme crée des menus du style

Sub NouvelleBarreMenu()
Dim cBoutonBarre As CommandBarButton
' Si cette barre d'outils existe, on la supprime
On Error Resume Next
Application.CommandBars("NewBarMenu").Delete
' Ajoute la barre de commande à la collection CommandBars.
Set cBarreMenu = Application.CommandBars.Add(Name:="NewBarMEnu",
Position:=msoBarTop)
With cBarreMenu
.Protection = msoBarNoMove
.Visible = False
End With


' Identifie la barre de menus intégrée à modifier
Set cMenuDeroulant = CommandBars.FindControl(, , Tag:="NewBarMEnu")
Set cBarreMenu = cMenuDeroulant.Parent
strNomBarre = cBarreMenu.Name
Set cBarreMenu = Application.CommandBars(strNomBarre)

' MENU FAMILLES Ajoute le nouveau menu en 1ére position sur la barre
With cBarreMenu.Controls
Set cMenuDeroulant = _
.Add(TYPE:=msoControlPopup, Before:=1)
' Définit la légende du nouveau menu déroulant.
With cMenuDeroulant
.Caption = " &Familles "
.Tag = "Familles"
.OnAction = "OuvreMenuFamilles"
End With
End With

etc ...
puis

Set cMenuDeroulant = CommandBars("NewBarMEnu").Controls(" Familles ")
With cMenuDeroulant
' Ajoute la 1ére commande de menu simple et règle ses propriétés.
With .Controls.Add(msoControlButton)
.OnAction = "ouvrirmodiffamilles"
.Caption = "&Modifier une fiche"
.Tag = "Modifier une fiche"
End With
etc
Mais alors ce sont ces lignes qui créent les menus contextuels ?
Qu'ai-je oublié pour qu'elles ne disparaissent pas ?
Par contre je les ai découvert en cliquant sur "Propriétés" une fois que
j'ai choisi un menu dans "personnaliser" donc pas de bouton supprimer. Et ils
n'apparaissent pas dans les menus au début de personnaliser.

Merci 3stone de tes efforts de toute façon

Bruno



Salut,

"BRUNO"
| En cliquant sur le menu "Outils" puis "personnaliser", j'ai vu que j'avais un
| nombre incalculable de "menu contextuel personnalisé" avec chacun un numéro.
| Qui peut me dire:
| 1) Si c'est mon programme qui les a créé, ou si ils sont d'origine.
| 2) Si c'est eux qui font que mon programme est de plus en plus long à charger
| 3) Et s'ils sont de mon fait, comment faire pour les enlever et ne plus les
| créer.


Soit c'est toi qui les a créés (mais tu le saurais ;-)

Soit c'est ton prog qui les créent, mais dans ce cas, tu devrais
savoir si tu utilise du code qui manipule les barres de menu !!!
Si oui, tu as intérêt à controler ton code...

Pour les supprimer... tu as pas vu le bouton "Supprimer" à coté ?


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/






Avatar
3stone
Salut,

"BRUNO"
| Effectivement mon programme crée des menus du style


Places un point d'arrêt et passes en pas à pas pour voir
ce qui s'y passe...


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
BRUNO
J'ai honte.
Comment faire pour placer un point d'arrêt


Salut,

"BRUNO"
| Effectivement mon programme crée des menus du style


Places un point d'arrêt et passes en pas à pas pour voir
ce qui s'y passe...


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/




Avatar
3stone
re,

"BRUNO"
| Comment faire pour placer un point d'arrêt


ouvre ton module et clique dans la barre de gauche...
par exemple devant ton "on error resume next"
et ferme la fenetre VBE

démarre et Access te montrera le code qu'il exécute
=> avance par F8

en promenant le curseur dans le code, une info bulle te montre les valeurs du moment...
tu peux aussi surveiller tes barres pour regarder quant elles sont créées.


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
BRUNO
Bon, j'ai craqué. J'ai créé une autre base, importé mes tables, forms etc
(mais pas les menus). recréé mes menus.
Effectivement ça va 10 fois plus vite au chargement.
Je surveille aprés chaque utilisation si il apparaît de nouveau menu
contextuel personnalisé (il y en avait plus de 10000 !!!!!)
Merci 3stone, ça m'a permit au moins de découvrir ton site



re,

"BRUNO"
| Comment faire pour placer un point d'arrêt


ouvre ton module et clique dans la barre de gauche...
par exemple devant ton "on error resume next"
et ferme la fenetre VBE

démarre et Access te montrera le code qu'il exécute
=> avance par F8

en promenant le curseur dans le code, une info bulle te montre les valeurs du moment...
tu peux aussi surveiller tes barres pour regarder quant elles sont créées.


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/







Avatar
3stone
"BRUNO"
[...]
| Je surveille aprés chaque utilisation si il apparaît de nouveau menu
| contextuel personnalisé (il y en avait plus de 10000 !!!!!)


Eh ben, mazette !!!

Dire qu'il y en a encore qui disent qu'Access n'est pas stable...

:o))



--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/