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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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é ?
"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é ?
"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é ?
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é ?
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é ?
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é ?
"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.
"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.
"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.
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.
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.
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.