Bonjour, j'ai un menu contextuel qui me permet de copier, coller et annuler.
Le problème est que parfois les champs du formulaire sont vérouillés et si on veut coller alors une erreur se produit et la bdd se ferme.
Je voudrais savoir si on peut griser (rendre l'action impossible) le coller et le annuler lorsque les champs du formulaire sont vérouillés.
Ou n'importe quel autre solution pour éviter l'erreur.
Voici le code si cela peut vous aider :
Merci d'avance pour vos réponses.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 Public Sub Form_Load() 'Call ContextuelSimple With Me .ShortcutMenu = True .ShortcutMenuBar = "Mnu_CopierCollerAnnuler" End With End Sub Public Sub ContextuelSimple() ' ====================================================================================== ' Auteur : Starec - Philippe JOCHMANS - http://starec.developpez.com ' Description : Création d'un menu contrextuel simple '======================================================================================= ' ===== déclaration ===== Dim cmb As Office.CommandBar Dim btn As Office.CommandBarButton ' ===== suppression de la barre existante ===== On Error Resume Next Application.CommandBars("Mnu_CopierCollerAnnuler").Delete ' ===== génération du menu contextuel ====== Set cmb = Application.CommandBars.Add("Mnu_CopierCollerAnnuler", msoBarPopup) Set btn = cmb.Controls.Add(msoControlButton) With btn .Caption = "copier" .Style = msoButtonCaption .OnAction = "Macro_Copier" End With Set btn = cmb.Controls.Add(msoControlButton) With btn .Caption = "coller" .Style = msoButtonCaption .OnAction = "Macro_Coller" End With Set btn = cmb.Controls.Add(msoControlButton) With btn .Caption = "annuler" .Style = msoButtonCaption .OnAction = "Macro_Annuler" End With ' ===== faire apparaitre le menu contextuel ===== cmb.ShowPopup End Sub
Partager