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

Macros et VBA Excel Discussion :

Désactiver certaines fonctions des menus


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2003
    Messages : 60
    Points : 38
    Points
    38
    Par défaut Désactiver certaines fonctions des menus
    Bonjour,

    Je souhaite protéger un classeur de façon spécifique.
    J'ai juste besoin d'empêcher les utilisateurs certaines fonctionalités des menus (les autres doivent rester Enable)

    J'y suis presque, seuls quelques menus me résistent.
    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
    Private Sub DisableButton()
    'Delete
    Application.CommandBars.FindControl(ID:=292).Enabled = False 'RightClick Delete
    Application.CommandBars.FindControl(ID:=293).Enabled = False 'RightClick Delete
    Application.CommandBars.FindControl(ID:=294).Enabled = False 'RightClick Delete
    Application.CommandBars.FindControl(ID:=478).Enabled = False 'Menu ->Edit ->Delete
    Application.CommandBars.FindControl(ID:=847).Enabled = False 'Sheet -> RightClick -> Delete
    '??Application.CommandBars.FindControl(ID:=??).Enabled = False 'Menu ->Edit ->Delete Sheet
     
    ' Insert Column & Cells
    Application.CommandBars.FindControl(ID:=297).Enabled = False 'Menu ->Insert ->Column
    Application.CommandBars.FindControl(ID:=295).Enabled = False 'Menu ->Insert ->Cells
    '??Application.CommandBars.FindControl(ID:=??).Enabled = False 'RightClick ->Insert
     
    'Rename Sheet
    Application.CommandBars.FindControl(ID:=889).Enabled = False 'RightClick Rename Sheet
    '??Application.CommandBars.FindControl(ID:=??).Enabled = False 'Menu -> Format ->Rename Sheet
     
    'Other
    Application.CommandBars.FindControl(ID:=402).Enabled = False 'Merge menu icon
    End Sub
    Pouvez vous m'aider pour les 3 derniers ?
    J'ai trouvé les ID existant dans le fichier joint, on ne sait jamais s'il est juste ...

    Pour info :
    la fonction "protect" est trop "protectrice" pour mon besoin.
    J'ai lu le tuto de Fring, peut-être que la liste des ID des menus pourrait être ajoutée (il y a déjà celle des icônes)

    Merci d'avance

    ** Version Excel 2000
    Fichiers attachés Fichiers attachés

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 514
    Points : 824
    Points
    824
    Par défaut
    Bonsoir,

    Tu peux retrouver toutes les occurences d'une même commande sur les différentes barres d'outils comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim Ctls As CommandBarControls, Ctl As CommandBarControl
     
    Set Ctls = Application.CommandBars.FindControls(Type:=msoControlButton, ID:=889)
    For Each Ctl In Ctls
        Ctl.Enabled = True
    Next
    Cordialement,

    Tirex28/

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2003
    Messages : 60
    Points : 38
    Points
    38
    Par défaut
    Merci,
    Ca avance mais il y en a encore 1 qui me résiste même avec la boucle indiquée !

    Je n'arrive pas à neutraliser celui-ci : Click droit ->Insert
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.CommandBars.FindControl(ID:=??).Enabled = False
    Question dérivée :
    J'ai quand même continué à chercher du côté de la fonction protect, mais les paramètres qu'ils me faut ne semblent pas dispo dans Excel 2000.
    Vous confirmez ??
    - AllowDeletingColumns
    - AllowInsertingColumns

    Merci & Bonne journée

Discussions similaires

  1. [XL-2003] Désactiver certaines fonctions d'Excel
    Par Vadorblanc dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/03/2011, 19h20
  2. Réponses: 1
    Dernier message: 18/03/2009, 16h03
  3. activater et désactiver des menus et sous menus
    Par rec82 dans le forum Langage
    Réponses: 4
    Dernier message: 11/02/2009, 08h41
  4. Modifier les menus en fonction des choix utilisateur
    Par ekremyilmaz dans le forum AWT/Swing
    Réponses: 15
    Dernier message: 21/01/2008, 00h46

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