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 :

Enlever le message excel "Ôtez la protection" sur les cellules verrouillées tout en concervant le ciblage [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Enlever le message excel "Ôtez la protection" sur les cellules verrouillées tout en concervant le ciblage
    Bonjour à toutes et à tous!

    Je viens à vous avec un problème assez embettant (pour ma part...) concernant la protection des feuilles et cellules! Comme on dit, "Chaque problème à une solution"! (Enfin j'espère )
    Après de nombreuses recherches sur internet, documentation et forum, je contaste que le problème n'a jamais été soulevé!! (Si j'ai bien cherché )
    C'est pourquoi je me tourne vers vous pour me guider au mieux vers une solution .

    Mon problème est le suivant:
    J'ai une feuille excel protégée sur laquelle j'ai autorisé la modification de certaines cellules et d'autres non.
    J'aimerais savoir si, sur ces cellules verrouillées, je peux empécher l'apparition du message d'excel me disant "La cellule [blablabla] est protégé et en lecture seule!" tout en concervant le ciblage de la cellule!!
    J'ai vu beaucoup de solutions qui ne permettent pas de pouvoir "sélectionner" (cibler) la cellule verrouillée!

    Ce que je voudrais c'est continuer à sélectionner cette cellule mais en empéchant la modification à la main.
    Je m'explique, j'ai créé un bouton sur une barre d'outil faisant référence à plusieurs listbox qui, selon la cellule sélectionnée, propose telle ou telle liste de choix et entraine une modification de la cellule.
    Je ne veux pas que l'utilisateur puisse la modifier à la main c'est pourquoi je les ai protéger.
    Je sais que le message d'excel visant l'utilisateur à ôtez la protection de la feuille pour modifier la cellule est important à titre d'information mais s'il pouvait ne pas apparaître quand l'utilisateur click sur ces cellules(ou alors proposer mon propre message d'information!) ça m'arrangerait .

    Auriez-vous une solution à mon petit problème, svp?

  2. #2
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 82
    Points : 144
    Points
    144
    Par défaut
    Salut,

    Avec ce code (à insérer dans le module de classe de la feuille considérée) ça devrait être bon:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Option Explicit
     
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      If Target.Locked = True Then
      Application.DisplayAlerts = False
        MsgBox "Message perso", vbOKOnly + vbInformation, "Message perso"
      Application.DisplayAlerts = True
      End If
    End Sub

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Salut SmallFlower!

    Merci pour cette réponse rapide!

    Ton code fonctionne en effet lorsqu'un changement est opéré sur la feuille à la cellule concernée!

    En faite je me suis mal exprimé en disant "Click" au lieu du "Double click" sur la cellule. Puisque c'est le double click qui va activer la modification de la cellule et c'est là que je veux empécher le message d'apparaître!

    Alors j'ai aussi essayé ton code sur l'évènement : Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) mais j'ai le même problème, le message apparaît après le double click. Ce qui est TOTALEMENT stupide de ma part puisque c'est BeforeDoubleClick ^.^! Mais tu as cerné mon problème et je vois pas où implenter ce code pour empécher ce foutu message!!

    J'ai aussi essayé ce code en enlevant (que je remettrais plus tard):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.DisplayAlerts = True
    donc:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Option Explicit
     
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
      If Target.Locked = True Then
        Application.DisplayAlerts = False
        MsgBox "Test", vbOKOnly + vbInformation, "Test"
      End If
    End Sub
    Aurais-tu une autre solution?

  4. #4
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 82
    Points : 144
    Points
    144
    Par défaut
    Et voila le travail:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Option Explicit
     
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
      If Target.Locked = True Then
          MsgBox "Message perso", vbOKOnly + vbInformation, "Message perso"
          Cancel = True
      End If
    End Sub

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Tout simplement!! :o

    Merci infiniment, la solution était sous mon nez!
    Ca marche nickel!

    Puisque j'y suis, pourrais-tu m'expliquer le principe de ce Booléen appliqué à cette évènement, stp?
    Je suis sur les évènements et leurs conditions depuis peu et j'aimerais connaître l'étendu de son pouvoir!

    Merci encore pour cette réponse rapide et efficace!

  6. #6
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 82
    Points : 144
    Points
    144
    Par défaut
    Si Cancel = False : L'évènement s'exécute normalement
    Si Cancel = True : L’exécution de l'évènement est annulée

    Et je parle bien de l'évènement 'DoubleClick' et non pas de 'BeforeDoubleClick'.

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Okay!

    Merci beaucoup de m'avoir accordé de ton temps!

    Bonne journée

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

Discussions similaires

  1. [Toutes versions] la Protection feuille bloque les cellules non verrouillées
    Par Prado77 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/11/2013, 12h03
  2. [Débutant] Boucler sur les cellules d'un fichier Excel (VB NET)
    Par intimed dans le forum VB.NET
    Réponses: 1
    Dernier message: 23/03/2012, 11h55
  3. [VBA-Excel]Supprimer une colonne entiere basee sur une cellule
    Par Tartenpion dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/10/2006, 22h08
  4. File_get_contents enlever le message d'erreur
    Par starr dans le forum Langage
    Réponses: 4
    Dernier message: 05/07/2006, 12h01
  5. Réponses: 2
    Dernier message: 25/05/2006, 13h07

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