Impossible de définir la propriété locked de la classe range

Bonjour le forum ,

Voila j'ai une petite macro qui déverouille une cellule selon une condition mais le preobleme c'est quelle debloque toute la feuille avec 'Unprotect Password:="sophia" et je veux debloquer que F20 et quand supprime 'Unprotect Password:="xxxx" j'ai un message impossible de définir la propriété locked de la classe range alors comment faire pour debloquer seulement la cellule F20

Private Sub Worksheet_Change(ByVal Target As Excel.Range)

Application.EnableEvents = False

If Flag = True Then Exit Sub

Select Case Range("D21").Value

Case "Sous total REG Prp Usage"

'Unprotect Password:="xxxx"

Range("F20").Locked = False

'.Protect Password:="xxxx"

Merci

Salut,

Je ne comprends pas très bien que tu dises que ça bloque. Chez moi ça passe sans problème

On peut voir ton fichier ? Il me semble que je t'avais déjà dit qu'on ne peut pas faire grand chose sans

Amicalement.

Bonjour;

Ci-joint fichier le message ne s'affiche plus mais la cellule F20 est déverrouillée pour les trois choix de D21, alors que moi je veux la débloqué que pour sou total REG Prp Usage en D21

Merci

44classeur1.xlsm (24.67 Ko)

bonsoir

peux être comme ca a voir

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Flag = True Then Exit Sub
Application.EnableEvents = False
Unprotect Password:="sophia"
    Select Case Range("D21").Value
        Case "Sous total REG Prp Usage"
             Range("F20").Locked = False
        Case "Sous total REG Prp AGE", "Sous total REG Prp Permis"
            Flag = True
            Range("F20").Formula = Range("F19") * Range("E21") + Range("F19")
        Case Else
            Range("F20").Locked = True 
    End Select
Protect Password:="sophia"
Application.EnableEvents = True
Flag = False
End Sub

A+

Maurice

Bonjour ,

Merci a toi parfait

Salut Abdernino,

Comme il s'agissait de la dixième de tes demandes que je prenais en charge, je pensais quand même recevoir un merci de ta part pour avoir dégrossi ton problème

Salut Archer,

Merci d'être venu m'aider à répondre à ce fil.

Bonnes salutations.

[quote=Yvouille post_id=834137 time=1580546405 user_id=1726]

Salut Abdernino,

Comme il s'agissait de la dixième de tes demandes que je prenais en charge, je pensais quand même recevoir un merci de ta part pour avoir dégrossi ton problème

Merci a toi , ET merci pour ta reactivite

Salut,

Par deux fois déjà, tu ne m'as remercié que lorsque je te l'ai demandé !!!!!!

Pense que l'on n'est pas à ton service, mais que c'est un cadeau qu'on t'offre !!!

Chaleureusement.

Bonjour à tous,

Je voudrais ajouter un petit complément aux excellentes réponses fournies :

Le VBA affiche clairement le mot de passe donc si un opérateur va dans le développeur, il peut connaître celui-ci.

Il y a moyen d’empêcher cela en protégeant l'accès au VBA du classeur.

Procédure :

1 Dans le module VBA cliquer droit sur la Feuille contenant le VBA et aller dans Propriétés de VBA Project

2 cliquer sur l'onglet Protection

3 cocher Verrouiller le projet pour l'affichage

4 Mettre un mot de passe 2 fois (voir image ci-joint)

Ainsi les VBA ne seront plus accessibles que si l'on connait le mot de passe et donc les opérateurs ne pourront plus le voir

verrouillage vba

A toutes fins utiles voici le petit projet que j'avais fait qui ressemble très fort à celui déjà proposé si ce n'est que l'on peut faire varier le FLAG en A1. Le mot de passe est le même que demandé à savoir Sophie

On peut naturellement le changer

53verrouillage.xlsm (16.28 Ko)

A bientôt

Chris

Rechercher des sujets similaires à "impossible definir propriete locked classe range"