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 -
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 !
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:
- VBA - mise en protection d'une ligne sous condition.
- Partager photos en ligne - Guide
- Mise en forme conditionnelle excel - Guide
- Mètre en ligne - Guide
- Mise a jour chrome - Accueil - Applications & Logiciels
- Mise en forme tableau word - Guide
2 réponses
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+
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+
thorgall9
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
Merci pour l'idée de l'utilisation "Intersect is nothing"
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
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