VBA - mise en protection d'une ligne sous condition.

Résolu
thorgall9 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
thorgall9 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je suis confronté à un petit soucis et ne voit pas comment le résoudre.
Ce que je souhaite obtenir :


Si le texte introduit dans une cellule de la colonne A (2 choix possible : Actif et Non actif) est "Non Actif", j'aimerais que les cellules de le colonne B à Z de la ligne concernée soient bloquées en écriture.

Si on modifie la valeur de la colonne A en Actif, on peut à nouveau écrire dans les cellules de la colonne B à Z



Grand merci pour l'aide !

A voir également:

2 réponses

Pierre1310 Messages postés 8564 Date d'inscription   Statut Membre Dernière intervention   651
 
Bonjour,

Je ne suis pas sur à 100% de ce que je vais te donner donc teste le avant.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Intersect(Target, Range("b1:b20")) Is Nothing Then Range("b1").Select

End Sub

Ce code n'autorise que les lignes b1 à b20 en écriture.

Si il marche comme je viens de te l'expliquer adapte le pour toi, a+
0
thorgall9 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour l'idée de l'utilisation "Intersect is nothing"
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour

si en col A ="non actif"
en cliquant de col B-Z m^ ligne
on retourne en Col A

on pourrait agrémenter avec un msgbox mais....à toi de jouer
Option Explicit
'-----------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Lig As Integer, Plage As Range
Lig = Target.Row
Set Plage = Range(Cells(Lig, "B"), Cells(Lig, "Z"))
If Not Intersect(Target, Plage) Is Nothing Then
If LCase(Cells(Lig, "A")) = "non actif" Then: Cells(Lig, "A").Select
End If
End Sub

0
thorgall9 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Top ! Merci;

Oui , je vais agrémenter :-)
0