Bonjour
Je souhaite sur une application, supprimer un certain nombre de commande du menu conceptuel.
J'utilise la solution de microsoft sur le lien suivant : https://docs.microsoft.com/fr-fr/pre...2(v=office.14)
Cela donne une routine comme celle-ci :
Sur un classeur vierge de test, cela fonctionne parfaitement. Sur mon appli, pas du tout.
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 Sub DeleteFromCellMenu(Etiquettemenu As String) Dim ContextMenu As CommandBar Dim ctrl As CommandBarControl ' Set ContextMenu to the Cell context menu. Set ContextMenu = Application.CommandBars("Cell") ' Delete the custom controls with the Tag : My_Cell_Control_Tag. For Each ctrl In ContextMenu.Controls If ctrl.Caption = Etiquettemenu Then ctrl.Delete End If Next ctrl ' Delete the custom built-in Save button. On Error Resume Next ContextMenu.FindControl(ID:=3).Delete On Error GoTo 0 End Sub
J’intègre l'appel à la procédure directement dans le démarrage de l’application de cette façon :
Le premier test me permet de ne pas supprimer sur ma base test
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 If ThisWorkbook.Name = "Base opérationnelle de test version 2-1-0-1.xlsm" Then GoTo Suite Call DeleteFromCellMenu("A&fficher/Masquer les commentaires") Call DeleteFromCellMenu("Insérer un co&mmentaire") Call DeleteFromCellMenu("&Trier") Call DeleteFromCellMenu("&Supprimer...") Call DeleteFromCellMenu("E&ffacer le contenu") Call DeleteFromCellMenu("Filtr&er") Call DeleteFromCellMenu("For&mat de cellule") Call DeleteFromCellMenu("Collage &spécial...") Call DeleteFromCellMenu("Coller le ta&bleau") Call DeleteFromCellMenu("&Insérer...") Call DeleteFromCellMenu("Anal&yse rapide") Call DeleteFromCellMenu("&Définir un nom...") Call DeleteFromCellMenu("Modifier le lien &hypertexte...") Call DeleteFromCellMenu("Lien &hypertexte...") Call DeleteFromCellMenu("C&oller") Call DeleteFromCellMenu("&Copier") Call DeleteFromCellMenu("Lien &hypertexte...") Call DeleteFromCellMenu("Lien &hypertexte...")
Mais quand je vais sur ma feuille principale, clic droit sur une cellule ne change rien
Si quelqu'un pourrait me donner une piste, il serait bien venu.
Merci d'avance
Partager