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 la commande "supprimer" du clic droit [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 116
    Par défaut Désactiver la commande "supprimer" du clic droit
    Bonjour le forum,
    Je souhaiterais ,si c'est possible ,désactiver (griser) la commande "supprimer" lorsque je clique droit sur l'onglet d'un classeur.Je sais que la protection du classeur permet cela mais elle empêche en même temps l'insertion d'une nouvelle feuille ,ce qui ne correspond pas à mes attentes.
    Merci
    PS: Je voudrais éviter la suppression involontaire d'une feuille de calcul.

  2. #2
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour,

    Code à insérer dans un Module
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub Sup_Feuille_Off()
    CommandBars("Ply").Controls("&Supprimer").Enabled = False
    End Sub
    Que l'on exécute à l'ouverture du classeur, code à insérer dans ThisWorkbook
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_Open()
    Sup_Feuille_Off
    End Sub

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 116
    Par défaut
    Bonjour
    Merci pour la réponse
    Le code fonctionne très bien mais le seul problème c'est qu'il ne se limite pas à un classeur spécifique.Désormais ,je n'arrive plus à supprimer les feuilles d'un autre classeur,pourtant le code n'y est pas inscrit.
    Merci

  4. #4
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Il suffit de réactiver la commande en quittant le classeur en question

    Ce qui donne dans le Module :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub Sup_Feuille_Off()
    CommandBars("Ply").Controls("&Supprimer").Enabled = False
    End Sub
     
    Sub Sup_Feuille_On()
    CommandBars("Ply").Controls("&Supprimer").Enabled = True
    End Sub
    et dans ThisWorkbook :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Sup_Feuille_On
    End Sub
     
    Private Sub Workbook_Open()
    Sup_Feuille_Off
    End Sub

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 116
    Par défaut
    Merci Fring
    Mais le classeur doit rester fermé pour que je puisse réutiliser la commande "supprimer".

  6. #6
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Non, si tu veux pouvoir travailler avec plusieurs classeurs ouverts en même temps et ne désactiver cette commande que dans un seul classeur, au lieu de travailler avec les évènements "Open" et "BeforeClose", tu peux utiliser les évènements "Activate" et "Deactivate" de ce classeur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Workbook_Activate()
    Sup_Feuille_Off
    End Sub
     
    Private Sub Workbook_Deactivate()
    Sup_Feuille_On
    End Sub

  7. #7
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 116
    Par défaut
    re-salut
    J'ai teté ceci:
    Au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Sup_Feuille_On
    End Sub
     
    Private Sub Workbook_Open()
    Sup_Feuille_Off
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Workbook_Deactivate()
    Sup_Feuille_On
    End Sub
     
    Private Sub Workbook_activate()
    Sup_Feuille_Off
    End Sub
    ça marche à merveille...(un seul classeur est ciblé,en l'occurence celui qui contient les lignes de code) mais n'y aura-t-il pas d'autres incidences que j'ignore.

  8. #8
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Citation Envoyé par mobiclick Voir le message
    mais n'y aura-t-il pas d'autres incidences que j'ignore.
    A ma connaissance...non

  9. #9
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 116
    Par défaut
    Merci Fring
    C'est exactement ce que je cherche...
    Bonne continuation

+ Répondre à la discussion
Cette discussion est résolue.

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