Verrouiller cellule(s) ou plage(s) en fonction de la valeur d'une autre

Piaf79

XLDnaute Junior
Bonsoir à tous,

Je souhaiterai pouvoir "verrouiller" une ou des cellule(s) ou plage(s) en fonction de la valeur d'une autre.

Ex : Si la cellule D2 contient "H" verrouiller ou rendre la saisie impossible dans la plage D5:D9 et D15:18 à l'inverse, si D2 contient "F" verrouiller ou rendre la saisie impossible dans la plage D10:14 et dans la cellule D19 (possibilité de déclencher un MsgBox).

Je sais que s'est possible via la validation de données, mais je souhaiterai le faire via VBA si cela est possible.

Merci pour votre aide.

Piaf79
 

ROGER2327

XLDnaute Barbatruc
Re : Verrouiller cellule(s) ou plage(s) en fonction de la valeur d'une autre

Bonsoir Piaf79.


Un essai avec le code​
Code:
Private Sub Worksheet_Change(ByVal Cible As Range)

  If Not Intersect(Cible, [D2].Cells) Is Nothing Then
    Me.Unprotect
    If Cible.Value = "H" Then
      Range("D15:D18,D5:D9").Locked = True
    Else
      Range("D15:D18,D5:D9").Locked = False
    End If
    If Cible.Value = "F" Then
      Range("D19,D10:D14").Locked = True
    Else
      Range("D19,D10:D14").Locked = False
    End If
    Me.Protect
  End If
End Sub


Bonne nuit.


ℝOGER2327
#8028


Mardi 17 Phalle 142 (Sainte Gallinacée, cocotte - fête Suprême Quarte)
10 Fructidor An CCXXIII, 8,5589h - échelle
2015-W35-4T20:32:29Z
 

Pièces jointes

  • Verrouillage sélectif.xlsm
    18.3 KB · Affichages: 20

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
314 628
Messages
2 111 337
Membres
111 107
dernier inscrit
cdel