Bonjour à tous les experts,
J'aimerai simplifier la ligne ci-dessous :
L'objectif étant d'empêcher les utilisateurs de laisser l'Inputbox vide ou de la contourner via un ou plusieurs "espace" et/ou "point".
Issue du code ci-dessous (créer à l'aide d'experts Excel-download).
Merci d'avance,
J'aimerai simplifier la ligne ci-dessous :
VB:
Loop Until (Not .Offset(0, -4).Value = "" And Not .Offset(0, -4).Value = "FAUX" And Not .Offset(0, -4).Value = " " And Not .Offset(0, -4).Value = " " And Not .Offset(0, -4).Value = "." And Not .Offset(0, -4).Value = "..") Or (.Value >= Range("E30").Value And .Value <= Range("G30").Value)
L'objectif étant d'empêcher les utilisateurs de laisser l'Inputbox vide ou de la contourner via un ou plusieurs "espace" et/ou "point".
Issue du code ci-dessous (créer à l'aide d'experts Excel-download).
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cellule_en_Cours As Range
If Not Intersect(Target, Range("F34:H999")) Is Nothing Then
For Each Cellule_en_Cours In Intersect(Target, Range("F34:H999"))
If Not (Range("F" & Cellule_en_Cours.Row) = "" Or Range("G" & Cellule_en_Cours.Row) = "" Or Range("H" & Cellule_en_Cours.Row) = "") Then
With Range("AN" & Cellule_en_Cours.Row)
If (Not .Value = "" And (.Value < Range("E30").Value Or .Value > Range("G30").Value)) Or Not .Offset(0, -4).Value = "" Then
Do
ActiveSheet.Unprotect ("2230")
.Offset(0, -4).Value = InputBox(Prompt:="ATTENTION :" & Chr(13) & Chr(10) & "Valeur non-conforme" & Chr(13) & Chr(10) & "Un commentaire est requis")
ActiveSheet.Protect ("2230")
Loop Until (Not .Offset(0, -4).Value = "" And Not .Offset(0, -4).Value = "FAUX" And Not .Offset(0, -4).Value = " " And Not .Offset(0, -4).Value = " " And Not .Offset(0, -4).Value = "." And Not .Offset(0, -4).Value = "..") Or (.Value >= Range("E30").Value And .Value <= Range("G30").Value)
End If
End With
End If
Next Cellule_en_Cours
End If
If Not Intersect(Target, Range("I34:K999")) Is Nothing Then
For Each Cellule_en_Cours In Intersect(Target, Range("I34: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("AO" & Cellule_en_Cours.Row)
If (Not .Value = "" And (.Value < Range("E30").Value Or .Value > Range("G30").Value)) Or Not .Offset(0, -5).Value = "" Then
Do
ActiveSheet.Unprotect ("2230")
.Offset(0, -5).Value = InputBox(Prompt:="ATTENTION :" & Chr(13) & Chr(10) & "Valeur non-conforme" & Chr(13) & Chr(10) & "Un commentaire est requis")
ActiveSheet.Protect ("2230")
Loop Until (Not .Offset(0, -5).Value = "" And Not .Offset(0, -5).Value = "FAUX" And Not .Offset(0, -5).Value = " " And Not .Offset(0, -5).Value = " " And Not .Offset(0, -5).Value = "." And Not .Offset(0, -5).Value = "..") Or (.Value >= Range("E30").Value And .Value <= Range("AC3").Value)
End If
End With
End If
Next Cellule_en_Cours
End If
End Sub
Merci d'avance,