Proteger cellule

bonjour je souhaiterai savoir comment protéger une cellule en fonction de la valeur d'une autre

par exemple je jouterai protéger les cellules de q1 a q53 si la cellule Q53 contient la lettre E

cellules de r1 a r53 si la cellule r53 contient la lettre E

merci d'avance

Salut,

Dans le fichier ci-joint, si tu inscrits un E (majuscule, car le code est sensible à la casse) en Q52, les cellules Q1 à Q51 sont protégées, si tu inscrits un E en R52, les cellules R1 à R52 sont protégées. Si tu inscris n’importe quel signe en Q52 ou R52, ces mêmes cellules sont débloquées.

Je n’ai pas compris ce que veux dire ‘je jouterai’, mais je présume que c’est bien ce que tu veux.

Cordialement.

31corbin.zip (9.97 Ko)

ok ca marche nickel par contre quand je le met dans mon fichier ca beug car je verrouille aussi les case q1 à q51 si la valeur ne est inscrit dans la case

Salut,

Alors il faudrait que je puisse voir ton fichier, sinon je continue de travailler à l'aveugle et ce n'est pas facile

Cordialement.

joindre un fichier

bonjour

je te joint le fichier

normalement dans l'onglet eleve1 des qu'il y a Ne la cellule est protéger et j'aimerai en plus verrouillé les cellules de la ligne 1 a 51 lorsque la ligne 52 a pour inscription e. ainsi pour q52 verrouille q1 a q51, r52verrouille r1 à 51 ainsi jusqu’à DL

sachant que si on verrouille toute la colonne celle ne gene pas le fonctionnement

13bvf.xlsm (277.78 Ko)

Salut,

Normalement le code ci-desssous devrait faire l'affaire.

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Count > 1 Then Exit Sub

    If Not Application.Intersect(Target, Range("Q52:DL52")) Is Nothing Then
        If Target = "E" Then
            ActiveSheet.Unprotect Password:="a"
            Range(Cells(1, Target.Column), Cells(51, Target.Column)).Locked = True
            ActiveSheet.Protect Password:="a"
        End If
    End If

End Sub

Sinon tu dois être plus précis dans tes explications (utilise absolument les références aux objets Excel, comme les références précises aux lignes, colonnes, cellules, feuilles, macros, etc. dont tu parles).

Amicalement.

19bvf-v2.xlsm (278.10 Ko)

cela marche pas mal par contre je voudrai que lorsqu'on enleve le E la protection saute sans mot de passe et directement

Salut,

Si tu dis bonjour et merci tu ne vas pas en crever et à moi ça me ferait plaisir

Ta demande n’est pas très claire, alors j’essaie le premier truc qui me passe par la tête et on verra bien si ça correspond à ce que tu veux.

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Count > 1 Then Exit Sub

    If Not Application.Intersect(Target, Range("Q52:DL52")) Is Nothing Then
        If Target = "E" Then
            ActiveSheet.Unprotect Password:="a"
            Range(Cells(1, Target.Column), Cells(51, Target.Column)).Locked = True
            ActiveSheet.Protect Password:="a"
        End If
        If Target = "" Then
            ActiveSheet.Unprotect Password:="a"
            Range(Cells(1, Target.Column), Cells(51, Target.Column)).Locked = False
            ''''ActiveSheet.Protect Password:="a"
        End If
    End If

End Sub

Je ne comprends pas pourquoi tu ne veux plus ta protection de la feuille à la fin de cette manœuvre, mais bon, je l’ai fait selon tes désirs.

Cependant, tu as l’autre macro Worksheet_SelectionChange qui te replace ta protection à tout bout de champs, alors tu ne te rendras peut-être même pas compte que j’ai modifié ton code comme tu le voulais peut-être.

Amicalement.

20bvf-v3.xlsm (278.19 Ko)

je te remercie ca marche nickel, j'ai juste modifié la lettre verrouillage car cela créait un petit souci

merci encore

Rechercher des sujets similaires à "proteger"