IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Cacher un item dans un shortcut menu


Sujet :

Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    novembre 2016
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur après-vente
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : novembre 2016
    Messages : 28
    Points : 19
    Points
    19
    Par défaut Cacher un item dans un shortcut menu
    Bonjour

    Mon but est de désactiver les lignes 'Insérer' et 'Supprimer' dans le menu qui apparaît lors d'un click droit sur ma feuille Excel, et de les réactiver plus tard.

    Je ne sais pas comment utiliser "CommandBars".

    Pouvez-vous m'aider avec un exemple?

    Merci

  2. #2
    Membre émérite
    Homme Profil pro
    retraité
    Inscrit en
    juin 2012
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : juin 2012
    Messages : 1 817
    Points : 2 994
    Points
    2 994
    Par défaut
    Bonjour,

    Un début de solution:
    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
    Option Explicit
     
    Public Sub ClicDroit(b As Boolean)
        With Application.CommandBars("Cell")
            .Controls("&Insérer...").Visible = b
            .Controls("&Supprimer...").Visible = b
        End With
    End Sub
     
    Sub ClicDroit_Oui()
        ClicDroit True
    End Sub
     
    Sub ClicDroit_Non()
        ClicDroit False
    End Sub
     
    Sub ClicDroit_Liste()
        Dim c
        For Each c In Application.CommandBars("Cell").Controls
            Debug.Print c.ID, c.Caption
        Next c
    End Sub
    Maintenant, un code permettant d'ajouter le nom de la commandbar activée.
    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
    Option Explicit
     
    '--- https://www.rondebruin.nl/win/s6/win001.htm
     
    '--- pour afficher les noms des "commandbars" en bas de chacune d'elles
     
    Sub Add_Name_To_Contextmenus()
        Dim Cbar As CommandBar
        For Each Cbar In Application.CommandBars
            With Cbar
                If .Type = msoBarTypePopup Then
                    On Error Resume Next
                    With .Controls.Add(Type:=msoControlButton)
                        .Caption = "Name for VBA = " & Cbar.Name
                        .Tag = "NameButtonInContextMenu"
                    End With
                    On Error GoTo 0
                End If
            End With
        Next
    End Sub
     
    '--- pour supprimer les noms des "commandbars" qui ont été ajoutées en bas de chacune d'elles
     
    Sub Delete_Name_From_Contextmenus()
        Dim Cbar As CommandBar
        Dim ctrl As CommandBarControl
     
        For Each Cbar In Application.CommandBars
            With Cbar
                If .Type = msoBarTypePopup Then
                    For Each ctrl In .Controls
                        If ctrl.Tag = "NameButtonInContextMenu" Then
                            ctrl.Delete
                        End If
                    Next ctrl
                End If
            End With
        Next
    End Sub
    Cordialement.

  3. #3
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    novembre 2003
    Messages
    17 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : novembre 2003
    Messages : 17 379
    Points : 50 210
    Points
    50 210
    Billets dans le blog
    92
    Par défaut
    Salut

    Shift+Espace + Ctrl++ résoudra le problème pour la personne qui connaît les raccourcis...

    Le ruban Accueil\Cellules\Insérer permet aussi l'insertion de lignes...


    => la solution de supprimer le clic droit = Bullshit


    Eventuellement, protéger la feuille contre l'insertion intempestive. Sinon, créer sa propre application dans laquelle on maîtrise tout de A à Z... Mais penser que tu vas pouvoir te protéger en supprimant des menus... Franchement... ^^
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

Discussions similaires

  1. Réponses: 5
    Dernier message: 25/11/2020, 19h36
  2. supprimer un Item dans un context menu strip
    Par fabienlege dans le forum VB.NET
    Réponses: 13
    Dernier message: 10/01/2009, 20h25
  3. Réponses: 7
    Dernier message: 03/10/2005, 09h38
  4. ajouter dynamiquement des items dans un popup menu
    Par Malone dans le forum Composants VCL
    Réponses: 7
    Dernier message: 23/08/2005, 16h08
  5. [système] Comment ajouter un item dans le context menu de Windows ?
    Par ddmicrolog dans le forum API, COM et SDKs
    Réponses: 8
    Dernier message: 29/06/2005, 17h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo