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 :

[VBA-E2003] case à cocher qui verouille une case


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Inscrit en
    Mars 2006
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 342
    Points : 107
    Points
    107
    Par défaut [VBA-E2003] case à cocher qui verouille une case
    voila, j ai plusieurs tableaux dans une feuille. En dessous de chaque tableau je voudrais mettre une case a cocher qui indique que les données sont verouillées, et que lorsque l'on decoche cette case l on puise alors modifier les valeurs. (Je voudrais aussi mettre un changement ce couleur des cellules quand c verouillé).

    J ai ecris ca, mais ca ne marche po, quelqu un pourrait m aider svp ? :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub Landuse_tick_Click()
     
    If Landuse_tick.Value = True Then
    Range("W3").Select
    .Interior.ColorIndex = 6
    .Locked = True
     
    Else
    Range("W3").Select
    .Locked = False
    .Interior.ColorIndex = 2
    End If
     
    End Sub

  2. #2
    Expert éminent
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Points : 7 962
    Points
    7 962
    Par défaut
    le fait de faire le locked des cellules ne suffit pas, il faut protéger la feuille pour activer le verrouillage

  3. #3
    Membre régulier
    Inscrit en
    Mars 2006
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 342
    Points : 107
    Points
    107
    Par défaut
    Merci d essayer de m aider, car la je nage

    Oui effectivement, j ai lu quelque par qu il fallait protéger la feuille, mais j avoue que j arrive pas a faire fonctionner mon option case coché pour verrouiller ou non les valeurs de mon tableau et changer la couleur des cellules en fonction du cas.

    J ai ecris ca (mais c un peu a l intuit) :

    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
    Private Sub Landuse_tick_Click()
     
    If Landuse_tick.Value = True Then
    Range("W3").Select
    With Selection.Interior
        .ColorIndex = 6
    End With
    With ActiveSheet
    .Protect AllowFiltering:=False 'Deprotege la feuille
    .Range("W3").Locked = True 'Verrouiller la cellule W1
    .Protect AllowFiltering:=True 'protege la feuille
    End With
     
     
    Else
    Range("W3").Select
    With Selection.Interior
        .ColorIndex = 2
    End With
    With ActiveSheet
       .Protect AllowFiltering:=False 'Deprotege la feuille
       .Range("W3").Locked = False 'Verrouiller la cellule W3
       .Protect AllowFiltering:=True 'Verrouiller la feuille
    End With
    End If
     
    End Sub
    mais ca ne marche po

  4. #4
    Expert éminent
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Points : 7 962
    Points
    7 962
    Par défaut
    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
    Private Sub CheckBox1_Click()
    If Me.CheckBox1.Value = True Then
        With ActiveSheet
            .Unprotect
            .Range("A1").Interior.ColorIndex = 6
            .Range("A1").Locked = True 'Verrouiller la cellule A1
            .Protect AllowFiltering:=True 'protege la feuille
        End With
    Else
        With ActiveSheet
           .Unprotect 'Deprotege la feuille
           .Range("A1").Interior.ColorIndex = 2
           .Range("A1").Locked = False 'Déverrouiller la cellule A1
           .Protect AllowFiltering:=True 'Verrouiller la feuille
        End With
    End If
    End Sub

  5. #5
    Membre régulier
    Inscrit en
    Mars 2006
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 342
    Points : 107
    Points
    107
    Par défaut
    Rhoooooo ... merci bcp bidou, j ai du passer 3 ou 4 heures a essayer de faire marcher ce truc sans succés.
    Maintenant que je lis ton bout de code, ca me parrait super simple

    Par contre, puisque j y suis petite question:

    Quand on protege une feuille avec (.Protect AllowFiltering:=True ) on ne verouille pas les valeurs dans les cellules, on ne fait qu empecher de creer des boutons, changer les cellules de couleurs des trucs comme ca non ? EN clair, verouiller et proteger sont deux choses differentes non ?

    EN tout cas grand merci

  6. #6
    Expert éminent
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Points : 7 962
    Points
    7 962
    Par défaut
    oui, c'est le verrouillage de la cellule qui protège le contenu de celle ci. La protection de feuille touche d'autre paramètre

  7. #7
    Membre régulier
    Inscrit en
    Mars 2006
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 342
    Points : 107
    Points
    107
    Par défaut
    Merci pour ton aide bidou, vais ptet finir par comprendre quelque chose


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

Discussions similaires

  1. Réponses: 27
    Dernier message: 22/03/2014, 15h24
  2. [WD-2003] Macro cases à cocher liées à d'autres cases à cocher
    Par Lili38100 dans le forum VBA Word
    Réponses: 5
    Dernier message: 28/01/2013, 14h15
  3. [XL-2003] Récupération de la cellule qui précède une case à cocher
    Par Skangell dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 16/12/2010, 15h22
  4. case à cocher qui colore une ligne d'un tableau
    Par gastoncs dans le forum IHM
    Réponses: 2
    Dernier message: 14/02/2008, 05h40
  5. Réponses: 1
    Dernier message: 18/07/2006, 23h38

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