Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cellule_en_Cours As Range
If Not Intersect(Target, Range("E23:G999")) Is Nothing Then
For Each Cellule_en_Cours In Intersect(Target, Range("E23:G999"))
If Not (Range("E" & Cellule_en_Cours.Row) = "" Or Range("F" & Cellule_en_Cours.Row) = "" Or Range("G" & Cellule_en_Cours.Row) = "") Then
With Range("H" & Cellule_en_Cours.Row)
.Unprotect ("mot de passe") ' A modifier
If (Not .Value = "#N/A" And (.Value < Range("G5").Value Or .Value > Range("D5").Value)) Or Not .Offset(0, 5).Value = "" Then
Do...
ActiveSheet.Unprotect ("mot de passe")
Action
...
ActiveSheet.Protect ("mot de passe")
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cellule_en_Cours As Range
If Not Intersect(Target, Range("E23:G999")) Is Nothing Then
For Each Cellule_en_Cours In Intersect(Target, Range("E23:G999"))
If Not (Range("E" & Cellule_en_Cours.Row) = "" Or Range("F" & Cellule_en_Cours.Row) = "" Or Range("G" & Cellule_en_Cours.Row) = "") Then
With Range("H" & Cellule_en_Cours.Row)
If (Not .Value = "#N/A" And (.Value < Range("G5").Value Or .Value > Range("D5").Value)) Or Not .Offset(0, 5).Value = "" Then
Do
.Offset(0, 5).Value = InputBox(Prompt:="Entrez un commentaire pour la valeur " & .Offset(0, -7).Value, Default:=.Offset(0, 5).Value)
Loop Until (Not .Offset(0, 5).Value = "" And Not .Offset(0, 5).Value = "FAUX") Or (.Value >= Range("G5").Value And .Value <= Range("D5").Value)
End If
End With
End If
Next Cellule_en_Cours
End If
If Not Intersect(Target, Range("I23:K999")) Is Nothing Then
For Each Cellule_en_Cours In Intersect(Target, Range("I23:K999"))
If Not (Range("I" & Cellule_en_Cours.Row) = "" Or Range("J" & Cellule_en_Cours.Row) = "" Or Range("K" & Cellule_en_Cours.Row) = "") Then
With Range("L" & Cellule_en_Cours.Row)
If (Not .Value = "" And (.Value < Range("N5").Value Or .Value > Range("K5").Value)) Or Not .Offset(0, 1).Value = "" Then
Do
.Offset(0, 1).Value = InputBox(Prompt:="Entrez un commentaire pour la valeur " & .Offset(0, -11).Value, Default:=.Offset(0, 1).Value)
Loop Until (Not .Offset(0, 1).Value = "" And Not .Offset(0, 1).Value = "FAUX") Or (.Value >= Range("N5").Value And .Value <= Range("K5").Value)
End If
End With
End If
Next Cellule_en_Cours
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Protect UserInterfaceOnly:=True
'---
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cellule_en_Cours As Range
If Not Intersect(Target, Range("E23:G999")) Is Nothing Then
For Each Cellule_en_Cours In Intersect(Target, Range("E23:G999"))
If Not (Range("E" & Cellule_en_Cours.Row) = "" Or Range("F" & Cellule_en_Cours.Row) = "" Or Range("G" & Cellule_en_Cours.Row) = "") Then
With Range("H" & Cellule_en_Cours.Row)
.Unprotect ("mot de passe") ' A modifier
If (Not .Value = "#N/A" And (.Value < Range("G5").Value Or .Value > Range("D5").Value)) Or Not .Offset(0, 5).Value = "" Then
Do
.Offset(0, 5).Value = InputBox(Prompt:="Entrez un commentaire pour la valeur " & .Offset(0, -7).Value, Default:=.Offset(0, 5).Value)
Loop Until (Not .Offset(0, 5).Value = "" And Not .Offset(0, 5).Value = "FAUX") Or (.Value >= Range("G5").Value And .Value <= Range("D5").Value)
End If
.protect ("mot de passe") ' A modifier
End With
End If
Next Cellule_en_Cours
End If
If Not Intersect(Target, Range("I23:K999")) Is Nothing Then
For Each Cellule_en_Cours In Intersect(Target, Range("I23:K999"))
If Not (Range("I" & Cellule_en_Cours.Row) = "" Or Range("J" & Cellule_en_Cours.Row) = "" Or Range("K" & Cellule_en_Cours.Row) = "") Then
With Range("L" & Cellule_en_Cours.Row)
.Unprotect ("mot de passe") ' A modifier
If (Not .Value = "" And (.Value < Range("N5").Value Or .Value > Range("K5").Value)) Or Not .Offset(0, 1).Value = "" Then
Do
.Offset(0, 1).Value = InputBox(Prompt:="Entrez un commentaire pour la valeur " & .Offset(0, -11).Value, Default:=.Offset(0, 1).Value)
Loop Until (Not .Offset(0, 1).Value = "" And Not .Offset(0, 1).Value = "FAUX") Or (.Value >= Range("N5").Value And .Value <= Range("K5").Value)
End If
.protect ("mot de passe") ' A modifier
End With
End If
Next Cellule_en_Cours
End If
End Sub