Vérouillage de plages en fonction de la valeur d'une cellule
2 réponses
Zebulion
Bonjour à tous
Voilà mon pb:
J'ai des cellules à renseigner (ou non) en fonction de la valeur de la
cellule B de la ligne (3 valeurs possibles pour le moment).
J'ai créé des mises en formes conditionnelles (motif grisé pour les plages
'non modifiables') pour chacune des plages à saisir ou non selon la cel B.
Cela marche très bien.
Cependant, je voudrais vérouiller les plages pour en empêcher la saisie ( et
ouvrir ainsi plus de 3 conditions comme dans les mef contitionelles caren
fait j'ai 6 valeurs mais pour créer des MEF conditionelles je les ai
regroupées par catégorie)
Je ne peux que décider de la protection par Format de cellulle sans
condition et je n'ai rien trouvé dans l'aide
Auriez-vous une idée pour me permettre de vérouller ou non différentes
plages selon la valeur de la cellule B???
J'imagine que je ne suis pas le premier à me poser la question...
J'ai très peu pratiqué les macros et VB jusque là, mais voilà peut-être une
bonne occasion de m'y mettre...
Merci d'avance pour votre aide
--
Cordialement,
Philippe
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand tout fonctionne et que l'on ne sait pas pouquoi
(A.S.)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel
Bonjour. Si j'ai tout compris... La macro suivante : 1. déprotège la feuille (mot de passe "toto") 2. déverrouille l'ensemble des cellules. 3. teste l'ensemble des cellules B1:B100 4. Si Bx=1, Ax est verrouillée 5. et Ax est colorée en rouge 6. protège la feuille (mot de passe "toto")
Sub test() Dim c As Range ActiveSheet.Unprotect Password:="toto" Cells.Locked = False For Each c In Range("A1:A100") If c.Offset(0, 1) = 1 Then c.Locked = True c.Interior.ColorIndex = 3 End If Next c ActiveSheet.Protect Password:="toto" End Sub
Cordialement. Daniel "Zebulion" a écrit dans le message de news:
Bonjour à tous Voilà mon pb: J'ai des cellules à renseigner (ou non) en fonction de la valeur de la cellule B de la ligne (3 valeurs possibles pour le moment). J'ai créé des mises en formes conditionnelles (motif grisé pour les plages 'non modifiables') pour chacune des plages à saisir ou non selon la cel B. Cela marche très bien.
Cependant, je voudrais vérouiller les plages pour en empêcher la saisie ( et ouvrir ainsi plus de 3 conditions comme dans les mef contitionelles caren fait j'ai 6 valeurs mais pour créer des MEF conditionelles je les ai regroupées par catégorie) Je ne peux que décider de la protection par Format de cellulle sans condition et je n'ai rien trouvé dans l'aide
Auriez-vous une idée pour me permettre de vérouller ou non différentes plages selon la valeur de la cellule B??? J'imagine que je ne suis pas le premier à me poser la question... J'ai très peu pratiqué les macros et VB jusque là, mais voilà peut-être une bonne occasion de m'y mettre...
Merci d'avance pour votre aide -- Cordialement, Philippe
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que l'on ne sait pas pouquoi (A.S.)
Bonjour.
Si j'ai tout compris...
La macro suivante :
1. déprotège la feuille (mot de passe "toto")
2. déverrouille l'ensemble des cellules.
3. teste l'ensemble des cellules B1:B100
4. Si Bx=1, Ax est verrouillée
5. et Ax est colorée en rouge
6. protège la feuille (mot de passe "toto")
Sub test()
Dim c As Range
ActiveSheet.Unprotect Password:="toto"
Cells.Locked = False
For Each c In Range("A1:A100")
If c.Offset(0, 1) = 1 Then
c.Locked = True
c.Interior.ColorIndex = 3
End If
Next c
ActiveSheet.Protect Password:="toto"
End Sub
Cordialement.
Daniel
"Zebulion" <zebulion@free.fr> a écrit dans le message de news:
utaqPs9SHHA.3592@TK2MSFTNGP06.phx.gbl...
Bonjour à tous
Voilà mon pb:
J'ai des cellules à renseigner (ou non) en fonction de la valeur de la
cellule B de la ligne (3 valeurs possibles pour le moment).
J'ai créé des mises en formes conditionnelles (motif grisé pour les plages
'non modifiables') pour chacune des plages à saisir ou non selon la cel B.
Cela marche très bien.
Cependant, je voudrais vérouiller les plages pour en empêcher la saisie
( et ouvrir ainsi plus de 3 conditions comme dans les mef contitionelles
caren fait j'ai 6 valeurs mais pour créer des MEF conditionelles je les ai
regroupées par catégorie)
Je ne peux que décider de la protection par Format de cellulle sans
condition et je n'ai rien trouvé dans l'aide
Auriez-vous une idée pour me permettre de vérouller ou non différentes
plages selon la valeur de la cellule B???
J'imagine que je ne suis pas le premier à me poser la question...
J'ai très peu pratiqué les macros et VB jusque là, mais voilà peut-être
une bonne occasion de m'y mettre...
Merci d'avance pour votre aide
--
Cordialement,
Philippe
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand tout fonctionne et que l'on ne sait pas pouquoi
(A.S.)
Bonjour. Si j'ai tout compris... La macro suivante : 1. déprotège la feuille (mot de passe "toto") 2. déverrouille l'ensemble des cellules. 3. teste l'ensemble des cellules B1:B100 4. Si Bx=1, Ax est verrouillée 5. et Ax est colorée en rouge 6. protège la feuille (mot de passe "toto")
Sub test() Dim c As Range ActiveSheet.Unprotect Password:="toto" Cells.Locked = False For Each c In Range("A1:A100") If c.Offset(0, 1) = 1 Then c.Locked = True c.Interior.ColorIndex = 3 End If Next c ActiveSheet.Protect Password:="toto" End Sub
Cordialement. Daniel "Zebulion" a écrit dans le message de news:
Bonjour à tous Voilà mon pb: J'ai des cellules à renseigner (ou non) en fonction de la valeur de la cellule B de la ligne (3 valeurs possibles pour le moment). J'ai créé des mises en formes conditionnelles (motif grisé pour les plages 'non modifiables') pour chacune des plages à saisir ou non selon la cel B. Cela marche très bien.
Cependant, je voudrais vérouiller les plages pour en empêcher la saisie ( et ouvrir ainsi plus de 3 conditions comme dans les mef contitionelles caren fait j'ai 6 valeurs mais pour créer des MEF conditionelles je les ai regroupées par catégorie) Je ne peux que décider de la protection par Format de cellulle sans condition et je n'ai rien trouvé dans l'aide
Auriez-vous une idée pour me permettre de vérouller ou non différentes plages selon la valeur de la cellule B??? J'imagine que je ne suis pas le premier à me poser la question... J'ai très peu pratiqué les macros et VB jusque là, mais voilà peut-être une bonne occasion de m'y mettre...
Merci d'avance pour votre aide -- Cordialement, Philippe
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que l'on ne sait pas pouquoi (A.S.)
Bonjour à tous Voilà mon pb: J'ai des cellules à renseigner (ou non) en fonction de la valeur de la cellule B de la ligne (3 valeurs possibles pour le moment). J'ai créé des mises en formes conditionnelles (motif grisé pour les plages 'non modifiables') pour chacune des plages à saisir ou non selon la cel B. Cela marche très bien.
Cependant, je voudrais vérouiller les plages pour en empêcher la sais ie ( et ouvrir ainsi plus de 3 conditions comme dans les mef contitionelles caren fait j'ai 6 valeurs mais pour créer des MEF conditionelles je les ai regroupées par catégorie) Je ne peux que décider de la protection par Format de cellulle sans condition et je n'ai rien trouvé dans l'aide
Auriez-vous une idée pour me permettre de vérouller ou non différen tes plages selon la valeur de la cellule B??? J'imagine que je ne suis pas le premier à me poser la question... J'ai très peu pratiqué les macros et VB jusque là, mais voilà peu t-être une bonne occasion de m'y mettre...
Merci d'avance pour votre aide -- Cordialement, Philippe
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que l'on ne sait pas pouquoi (A.S.)
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect([A4], Target) Is Nothing And Target.Count = 1 Then ActiveSheet.Unprotect Password:="" If [A4] > 100 Then [B4].Locked = False [B4].Interior.ColorIndex = 4 Else [B4].Locked = True [B4].Interior.ColorIndex = 3 End If ActiveSheet.Protect Password:="" End If End Sub
Scénario2: Si total dans A6>100 B6 non vérrouillé (la saisie se fait dans A1:A4 - total en A6)
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect([A1:A4], Target) Is Nothing And Target.Count = 1 Then ActiveSheet.Unprotect Password:="" If [A6] > 100 Then [B6].Locked = False [B6].Interior.ColorIndex = 4 Else [B6].Locked = True [B6].Interior.ColorIndex = 3 End If ActiveSheet.Protect Password:="" End If End Sub
http://cjoint.com/?cjjlZoTJ7y
Cordialement JB
On 9 fév, 00:44, "Zebulion" <zebul...@free.fr> wrote:
Bonjour à tous
Voilà mon pb:
J'ai des cellules à renseigner (ou non) en fonction de la valeur de la
cellule B de la ligne (3 valeurs possibles pour le moment).
J'ai créé des mises en formes conditionnelles (motif grisé pour les plages
'non modifiables') pour chacune des plages à saisir ou non selon la cel B.
Cela marche très bien.
Cependant, je voudrais vérouiller les plages pour en empêcher la sais ie ( et
ouvrir ainsi plus de 3 conditions comme dans les mef contitionelles caren
fait j'ai 6 valeurs mais pour créer des MEF conditionelles je les ai
regroupées par catégorie)
Je ne peux que décider de la protection par Format de cellulle sans
condition et je n'ai rien trouvé dans l'aide
Auriez-vous une idée pour me permettre de vérouller ou non différen tes
plages selon la valeur de la cellule B???
J'imagine que je ne suis pas le premier à me poser la question...
J'ai très peu pratiqué les macros et VB jusque là, mais voilà peu t-être une
bonne occasion de m'y mettre...
Merci d'avance pour votre aide
--
Cordialement,
Philippe
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand tout fonctionne et que l'on ne sait pas pouquoi
(A.S.)
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect([A4], Target) Is Nothing And Target.Count = 1 Then
ActiveSheet.Unprotect Password:=""
If [A4] > 100 Then
[B4].Locked = False
[B4].Interior.ColorIndex = 4
Else
[B4].Locked = True
[B4].Interior.ColorIndex = 3
End If
ActiveSheet.Protect Password:=""
End If
End Sub
Scénario2: Si total dans A6>100 B6 non vérrouillé
(la saisie se fait dans A1:A4 - total en A6)
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect([A1:A4], Target) Is Nothing And Target.Count = 1
Then
ActiveSheet.Unprotect Password:=""
If [A6] > 100 Then
[B6].Locked = False
[B6].Interior.ColorIndex = 4
Else
[B6].Locked = True
[B6].Interior.ColorIndex = 3
End If
ActiveSheet.Protect Password:=""
End If
End Sub
Bonjour à tous Voilà mon pb: J'ai des cellules à renseigner (ou non) en fonction de la valeur de la cellule B de la ligne (3 valeurs possibles pour le moment). J'ai créé des mises en formes conditionnelles (motif grisé pour les plages 'non modifiables') pour chacune des plages à saisir ou non selon la cel B. Cela marche très bien.
Cependant, je voudrais vérouiller les plages pour en empêcher la sais ie ( et ouvrir ainsi plus de 3 conditions comme dans les mef contitionelles caren fait j'ai 6 valeurs mais pour créer des MEF conditionelles je les ai regroupées par catégorie) Je ne peux que décider de la protection par Format de cellulle sans condition et je n'ai rien trouvé dans l'aide
Auriez-vous une idée pour me permettre de vérouller ou non différen tes plages selon la valeur de la cellule B??? J'imagine que je ne suis pas le premier à me poser la question... J'ai très peu pratiqué les macros et VB jusque là, mais voilà peu t-être une bonne occasion de m'y mettre...
Merci d'avance pour votre aide -- Cordialement, Philippe
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que l'on ne sait pas pouquoi (A.S.)
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect([A4], Target) Is Nothing And Target.Count = 1 Then ActiveSheet.Unprotect Password:="" If [A4] > 100 Then [B4].Locked = False [B4].Interior.ColorIndex = 4 Else [B4].Locked = True [B4].Interior.ColorIndex = 3 End If ActiveSheet.Protect Password:="" End If End Sub
Scénario2: Si total dans A6>100 B6 non vérrouillé (la saisie se fait dans A1:A4 - total en A6)
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect([A1:A4], Target) Is Nothing And Target.Count = 1 Then ActiveSheet.Unprotect Password:="" If [A6] > 100 Then [B6].Locked = False [B6].Interior.ColorIndex = 4 Else [B6].Locked = True [B6].Interior.ColorIndex = 3 End If ActiveSheet.Protect Password:="" End If End Sub