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 :
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
Sur un classeur vierge de test, cela fonctionne parfaitement. Sur mon appli, pas du tout.
J’intègre l'appel à la procédure directement dans le démarrage de l’application de cette façon :

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...")
Le premier test me permet de ne pas supprimer sur ma base test
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