Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/11/2011, 11h46   #1
Membre régulier
 
Inscription : mai 2004
Messages : 337
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 337
Points : 90
Points : 90
Par défaut interdire la suppression en passant le menu édition

Bonjour,

Je développe avec Access 2003 sous Windows XP Pro.
J'ai un formulaire qui est lié à une table.
Sur ce formulaire, j'ai créé un bouton "Supprimer" permettant de supprimer un enregistrement par programmation.
Jusqu'ici tout fonctionne bien.
Mais mon souci : est d'interdire la suppression en passant par le menu Edition, Supprimer l'enregistrement (l'idéal serait de griser ce menu).
Dans les propriétés du formulaire, j'ai mis la propriété "Suppr autorisée" à Non.
Mais cette modification n'a pas d'impact sur le menu "Edition", "Supprimer l'enregistrement", ce menu est toujours accessible.

Peut-on par le code supprimer ce menu ou le griser ?

Si quelqu'un a une idée, je suis preneur.

Willy
willytito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2011, 12h19   #2
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 623
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 623
Points : 30 954
Points : 30 954
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Bonjour

Je n'ai pas tout testé sur des menus existants, mais il faut d'abord repérer celui-ci dans la jungle des menus avant d'agir.

Un tuto qui devrait t'aider : Personnaliser vos barres de commandes dans Access

Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.

Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/11/2011, 10h43   #3
Membre régulier
 
Inscription : mai 2004
Messages : 337
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 337
Points : 90
Points : 90
Par défaut précision

Bonjour,

J'ai regardé le lien sur les menus, c'est très intéressant.
Mais j'ai un petit souci, je voudrais griser le menu "Supprimer l'enregistrement".
Je n'arrive pas à repérer ce menu.
J'ai essayé de voir dans l'explorateur d'objet, mais je ne maîtrise pas ce truc.

Si quelqu'un pouvait me donner le code exact pour griser ou voir désactiver le menu "Supprimer l'enregistrement", ça serait cool.
Merci,

Willy
willytito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/11/2011, 14h35   #4
Membre régulier
 
Inscription : mai 2004
Messages : 337
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 337
Points : 90
Points : 90
Par défaut Précision

J'arrive à désactiver la barre de menu toute entière en faisant :
Code :
1
2
 
application.commandbars(2).enabled = false
Mais je ne sais pas comment désactiver le sous-menu "Supprimer l'enregistrement"
Si quelqu'un peut m'aider
Merci
Willy
willytito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/11/2011, 15h02   #5
Rédacteur/Modérateur
 
Avatar de Domi2
 
Homme
Inscription : juin 2006
Messages : 6 223
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 52
Localisation : Suisse

Informations professionnelles :
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juin 2006
Messages : 6 223
Points : 9 937
Points : 9 937
Envoyer un message via Skype™ à Domi2
Bonjour,

De mémoire, la barre de menu elle-même peut être définie par son index ou par son nom, mais les menus eux-mêmes par leur nom.

A essayer :

Code :
Application.CommandBars("Edit").Controls("Supprimer l'enregistrement").Enabled = False
Je crois que c'est le nom anglais qui est correct.

Domi2
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

Ici, on ne perd pas de temps ! On en passe...


Access : créer des codes-barres 128 en VBA
Access : les commandes intégrées des menus

Ce message (ou un autre) vous a aidé ? Votez pour lui avec
Domi2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/11/2011, 15h43   #6
Membre actif
 
Avatar de robyseb
 
Homme Sébastien
Développeur indépendant
Inscription : juillet 2011
Messages : 178
Détails du profil
Informations personnelles :
Nom : Homme Sébastien
Localisation : Canada

Informations professionnelles :
Activité : Développeur indépendant

Informations forums :
Inscription : juillet 2011
Messages : 178
Points : 193
Points : 193
Salut moi aussi j'ai trouvé quelque chose qui pourrait être pratique !!

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
    ' ======================================================================================
    ' Auteur        : Starec - Philippe JOCHMANS - http://starec.developpez.com
    '=======================================================================================
 
    ' ===== déclaration =====
    Dim cmb As Office.CommandBar
    Dim cmbEdition As Office.CommandBarPopup
    Dim cmbNewEdition As Office.CommandBarPopup
 
    ' ajout du menu popup fichier
    Set cmbEdition = Application.CommandBars("Edition").Controls(2)
 
 
    ' on va enlever des contrôles du menu Edition
    ' on affecte d'abord la barre à une autre variable objet
    Set cmbNewEdition = cmbedition
    ' on va enlever les contrôles dont on a pas besoin
    With cmbNewEdition
        .Controls(1).Enabled = False
        .Controls(2).Enabled = False
        .Controls(3).Enabled = False
        .Controls(4).Enabled = False    'Donc à figurer celuil qui est le bon
        .Controls(5).Enabled = False
        .Controls(6).Enabled = False
        .Controls(7).Enabled = False
        .Controls(8).Enabled = False
    End With
que j'ai modifier afin de matcher le menu "Edition"
de la page http://starec.developpez.com/tuto/barrecommande/

P.s. La solution de Domi2 semble beaucoup plus simple ... je vais laisser mon post au cas ou ... , j'étais dans l'édition donc je n'avait pas vue ton post domi2
__________________
Parfois il faut faire le tour d'une roche 10 fois avant de s'apercevoir quelle est ronde.
  • Si vous trouvé mon post intéressant, n'oubliez pas de voter coté inférieur droit du message. Merci
  • Si votre Post est indiquez le....
robyseb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/11/2011, 17h25   #7
Membre régulier
 
Inscription : mai 2004
Messages : 337
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 337
Points : 90
Points : 90
Par défaut Merci

Merci à tous

J'ai testé le code suivant :
Code :
1
2
 
Application.CommandBars("edit").Controls("Supprimer l'enregistrement").Enabled = False
ça fonctionne

Willy
willytito est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h44.


 
 
 
 
Partenaires

Hébergement Web