Bonjour à tous
Dans une proc évènementielle, je peux alerter si une valeur dans une
cellule est excessive :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value > "40" 'etc
Ce qui fonctionne bien.
Malheureusement, les cellules concernées sont susceptibles de renfermer
plusieurs séries de 2 chiffres, au maximum 4, sous le format :
nn
nn nn
nn nn nn
nn nn nn nn
qui peuvent avoir une valeur quelconque, ex :
12 15 25 55
Est-il possible de faire, et comment :
If Target.Value contient une valeur > "40" 'etc
Merci pour les idées
@+
J@@
Bonjour à tous
Dans une proc évènementielle, je peux alerter si une valeur dans une
cellule est excessive :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value > "40" 'etc
Ce qui fonctionne bien.
Malheureusement, les cellules concernées sont susceptibles de renfermer
plusieurs séries de 2 chiffres, au maximum 4, sous le format :
nn
nn nn
nn nn nn
nn nn nn nn
qui peuvent avoir une valeur quelconque, ex :
12 15 25 55
Est-il possible de faire, et comment :
If Target.Value contient une valeur > "40" 'etc
Merci pour les idées
@+
J@@
Bonjour à tous
Dans une proc évènementielle, je peux alerter si une valeur dans une
cellule est excessive :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value > "40" 'etc
Ce qui fonctionne bien.
Malheureusement, les cellules concernées sont susceptibles de renfermer
plusieurs séries de 2 chiffres, au maximum 4, sous le format :
nn
nn nn
nn nn nn
nn nn nn nn
qui peuvent avoir une valeur quelconque, ex :
12 15 25 55
Est-il possible de faire, et comment :
If Target.Value contient une valeur > "40" 'etc
Merci pour les idées
@+
J@@
Bonjour à tous
Dans une proc évènementielle, je peux alerter si une valeur dans une
cellule est excessive :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value > "40" 'etc
Ce qui fonctionne bien.
Malheureusement, les cellules concernées sont susceptibles de renfermer
plusieurs séries de 2 chiffres, au maximum 4, sous le format :
nn
nn nn
nn nn nn
nn nn nn nn
qui peuvent avoir une valeur quelconque, ex :
12 15 25 55
Est-il possible de faire, et comment :
If Target.Value contient une valeur > "40" 'etc
Merci pour les idées
@+
J@@
Bonjour à tous
Dans une proc évènementielle, je peux alerter si une valeur dans une
cellule est excessive :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value > "40" 'etc
Ce qui fonctionne bien.
Malheureusement, les cellules concernées sont susceptibles de renfermer
plusieurs séries de 2 chiffres, au maximum 4, sous le format :
nn
nn nn
nn nn nn
nn nn nn nn
qui peuvent avoir une valeur quelconque, ex :
12 15 25 55
Est-il possible de faire, et comment :
If Target.Value contient une valeur > "40" 'etc
Merci pour les idées
@+
J@@
Bonjour à tous
Dans une proc évènementielle, je peux alerter si une valeur dans une
cellule est excessive :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value > "40" 'etc
Ce qui fonctionne bien.
Malheureusement, les cellules concernées sont susceptibles de renfermer
plusieurs séries de 2 chiffres, au maximum 4, sous le format :
nn
nn nn
nn nn nn
nn nn nn nn
qui peuvent avoir une valeur quelconque, ex :
12 15 25 55
Est-il possible de faire, et comment :
If Target.Value contient une valeur > "40" 'etc
Merci pour les idées
@+
J@@
Bonjour à tous
Dans une proc évènementielle, je peux alerter si une valeur dans une
cellule est excessive :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value > "40" 'etc
Ce qui fonctionne bien.
Malheureusement, les cellules concernées sont susceptibles de renfermer
plusieurs séries de 2 chiffres, au maximum 4, sous le format :
nn
nn nn
nn nn nn
nn nn nn nn
qui peuvent avoir une valeur quelconque, ex :
12 15 25 55
Est-il possible de faire, et comment :
If Target.Value contient une valeur > "40" 'etc
Merci pour les idées
@+
J@@
Bonjour à tous
Dans une proc évènementielle, je peux alerter si une valeur dans une
cellule est excessive :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value > "40" 'etc
Ce qui fonctionne bien.
Malheureusement, les cellules concernées sont susceptibles de renfermer
plusieurs séries de 2 chiffres, au maximum 4, sous le format :
nn
nn nn
nn nn nn
nn nn nn nn
qui peuvent avoir une valeur quelconque, ex :
12 15 25 55
Est-il possible de faire, et comment :
If Target.Value contient une valeur > "40" 'etc
Merci pour les idées
@+
J@@
Bonjour à tous
Dans une proc évènementielle, je peux alerter si une valeur dans une
cellule est excessive :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value > "40" 'etc
Ce qui fonctionne bien.
Malheureusement, les cellules concernées sont susceptibles de renfermer
plusieurs séries de 2 chiffres, au maximum 4, sous le format :
nn
nn nn
nn nn nn
nn nn nn nn
qui peuvent avoir une valeur quelconque, ex :
12 15 25 55
Est-il possible de faire, et comment :
If Target.Value contient une valeur > "40" 'etc
Merci pour les idées
@+
J@@
bonjour J@@,
For i = 1 To Len(Target) Step 3
If Val(Mid(Target, i, 3)) > 40 Then MsgBox "plus grand que 40"
Next
isabelleBonjour à tous
Dans une proc évènementielle, je peux alerter si une valeur dans une
cellule est excessive :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value > "40" 'etc
Ce qui fonctionne bien.
Malheureusement, les cellules concernées sont susceptibles de
renfermer plusieurs séries de 2 chiffres, au maximum 4, sous le format :
nn
nn nn
nn nn nn
nn nn nn nn
qui peuvent avoir une valeur quelconque, ex :
12 15 25 55
Est-il possible de faire, et comment :
If Target.Value contient une valeur > "40" 'etc
Merci pour les idées
@+
J@@
bonjour J@@,
For i = 1 To Len(Target) Step 3
If Val(Mid(Target, i, 3)) > 40 Then MsgBox "plus grand que 40"
Next
isabelle
Bonjour à tous
Dans une proc évènementielle, je peux alerter si une valeur dans une
cellule est excessive :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value > "40" 'etc
Ce qui fonctionne bien.
Malheureusement, les cellules concernées sont susceptibles de
renfermer plusieurs séries de 2 chiffres, au maximum 4, sous le format :
nn
nn nn
nn nn nn
nn nn nn nn
qui peuvent avoir une valeur quelconque, ex :
12 15 25 55
Est-il possible de faire, et comment :
If Target.Value contient une valeur > "40" 'etc
Merci pour les idées
@+
J@@
bonjour J@@,
For i = 1 To Len(Target) Step 3
If Val(Mid(Target, i, 3)) > 40 Then MsgBox "plus grand que 40"
Next
isabelleBonjour à tous
Dans une proc évènementielle, je peux alerter si une valeur dans une
cellule est excessive :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value > "40" 'etc
Ce qui fonctionne bien.
Malheureusement, les cellules concernées sont susceptibles de
renfermer plusieurs séries de 2 chiffres, au maximum 4, sous le format :
nn
nn nn
nn nn nn
nn nn nn nn
qui peuvent avoir une valeur quelconque, ex :
12 15 25 55
Est-il possible de faire, et comment :
If Target.Value contient une valeur > "40" 'etc
Merci pour les idées
@+
J@@
Bon{j,s}o{u,i}r J@@,
Je tenterai quelque chose comme ci :
détecter le nombre d'espaces séparant les groupes de 2 chiffres dans la
cellule et le stocker dans une variable, nommée ici "nbgrp" :
nbgrp = Len(Target) -
Len(Application.WorksheetFunction.Substitute(Target, " ", ""))
puis tester les groupes en partant de la gauche et en les convertissant
en numérique, à l'aide de combinaisons de cdbl(left(target,2)) et
cdbl(right(target,2))
Bon{j,s}o{u,i}r J@@,
Je tenterai quelque chose comme ci :
détecter le nombre d'espaces séparant les groupes de 2 chiffres dans la
cellule et le stocker dans une variable, nommée ici "nbgrp" :
nbgrp = Len(Target) -
Len(Application.WorksheetFunction.Substitute(Target, " ", ""))
puis tester les groupes en partant de la gauche et en les convertissant
en numérique, à l'aide de combinaisons de cdbl(left(target,2)) et
cdbl(right(target,2))
Bon{j,s}o{u,i}r J@@,
Je tenterai quelque chose comme ci :
détecter le nombre d'espaces séparant les groupes de 2 chiffres dans la
cellule et le stocker dans une variable, nommée ici "nbgrp" :
nbgrp = Len(Target) -
Len(Application.WorksheetFunction.Substitute(Target, " ", ""))
puis tester les groupes en partant de la gauche et en les convertissant
en numérique, à l'aide de combinaisons de cdbl(left(target,2)) et
cdbl(right(target,2))
Bonjour,
Private Sub Worksheet_Change(ByVal Target As Range)
a = Split(Target, " ")
For i = LBound(a) To UBound(a)
If Val(a(i)) > 40 Then MsgBox "Erreur:" & a(i)
Next i
End Sub
JB
On 6 fév, 06:07, "J@@" wrote:Bonjour à tous
Dans une proc évènementielle, je peux alerter si une valeur dans une
cellule est excessive :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value > "40" 'etc
Ce qui fonctionne bien.
Malheureusement, les cellules concernées sont susceptibles de renfermer
plusieurs séries de 2 chiffres, au maximum 4, sous le format :
nn
nn nn
nn nn nn
nn nn nn nn
qui peuvent avoir une valeur quelconque, ex :
12 15 25 55
Est-il possible de faire, et comment :
If Target.Value contient une valeur > "40" 'etc
Merci pour les idées
@+
J@@
Bonjour,
Private Sub Worksheet_Change(ByVal Target As Range)
a = Split(Target, " ")
For i = LBound(a) To UBound(a)
If Val(a(i)) > 40 Then MsgBox "Erreur:" & a(i)
Next i
End Sub
JB
On 6 fév, 06:07, "J@@" <allezv...@yeur.fr> wrote:
Bonjour à tous
Dans une proc évènementielle, je peux alerter si une valeur dans une
cellule est excessive :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value > "40" 'etc
Ce qui fonctionne bien.
Malheureusement, les cellules concernées sont susceptibles de renfermer
plusieurs séries de 2 chiffres, au maximum 4, sous le format :
nn
nn nn
nn nn nn
nn nn nn nn
qui peuvent avoir une valeur quelconque, ex :
12 15 25 55
Est-il possible de faire, et comment :
If Target.Value contient une valeur > "40" 'etc
Merci pour les idées
@+
J@@
Bonjour,
Private Sub Worksheet_Change(ByVal Target As Range)
a = Split(Target, " ")
For i = LBound(a) To UBound(a)
If Val(a(i)) > 40 Then MsgBox "Erreur:" & a(i)
Next i
End Sub
JB
On 6 fév, 06:07, "J@@" wrote:Bonjour à tous
Dans une proc évènementielle, je peux alerter si une valeur dans une
cellule est excessive :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value > "40" 'etc
Ce qui fonctionne bien.
Malheureusement, les cellules concernées sont susceptibles de renfermer
plusieurs séries de 2 chiffres, au maximum 4, sous le format :
nn
nn nn
nn nn nn
nn nn nn nn
qui peuvent avoir une valeur quelconque, ex :
12 15 25 55
Est-il possible de faire, et comment :
If Target.Value contient une valeur > "40" 'etc
Merci pour les idées
@+
J@@
Une légère correction :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim S As String, X As String
Dim Rg As Range, C As Range
Set Rg = Intersect(Target, Range("A1:A10"))
If Not Rg Is Nothing Then
For Each C In Rg
C.Interior.ColorIndex = xlNone
If C <> "" Then
Application.EnableEvents = False
S = Replace(C.Text, " ", "")
C.NumberFormat = "## ## ## ##"
X = Trim(C.Text)
If Len(X) < 2 Or IsNumeric(X) = False Then
C.Interior.ColorIndex = 3
ElseIf X = Trim(Left(S, 2) & " " & Mid(S, 3, 2) & _
" " & Mid(S, 5, 2) & " " & Mid(S, 7, 2)) Then
Else
C.Interior.ColorIndex = 3
End If
Application.EnableEvents = True
End If
Next
End If
End Sub
"MichDenis" a écrit dans le message de news:
ça met la cellule en "rouge" si la donnée entrée dans la cellule
ne respecte pas une série de chiffre tel que tu as énoncé.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim S As String, X As String
Dim Rg As Range, C As Range
Set Rg = Intersect(Target, Range("A1:A10"))
If Not Rg Is Nothing Then
For Each C In Rg
C.Interior.ColorIndex = xlNone
If C <> "" Then
Application.EnableEvents = False
S = Replace(C.Text, " ", "")
C.NumberFormat = "## ## ## ##"
X = Trim(C.Text)
If X = Trim(Left(S, 2) & " " & Mid(S, 3, 2) & _
" " & Mid(S, 5, 2) & " " & Mid(S, 7, 2)) Then
Else
C.Interior.ColorIndex = 3
End If
Application.EnableEvents = True
End If
Next
End If
End Sub
"J@@" a écrit dans le message de news: u$
Bonjour à tous
Dans une proc évènementielle, je peux alerter si une valeur dans une
cellule est excessive :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value > "40" 'etc
Ce qui fonctionne bien.
Malheureusement, les cellules concernées sont susceptibles de renfermer
plusieurs séries de 2 chiffres, au maximum 4, sous le format :
nn
nn nn
nn nn nn
nn nn nn nn
qui peuvent avoir une valeur quelconque, ex :
12 15 25 55
Est-il possible de faire, et comment :
If Target.Value contient une valeur > "40" 'etc
Merci pour les idées
@+
J@@
Une légère correction :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim S As String, X As String
Dim Rg As Range, C As Range
Set Rg = Intersect(Target, Range("A1:A10"))
If Not Rg Is Nothing Then
For Each C In Rg
C.Interior.ColorIndex = xlNone
If C <> "" Then
Application.EnableEvents = False
S = Replace(C.Text, " ", "")
C.NumberFormat = "## ## ## ##"
X = Trim(C.Text)
If Len(X) < 2 Or IsNumeric(X) = False Then
C.Interior.ColorIndex = 3
ElseIf X = Trim(Left(S, 2) & " " & Mid(S, 3, 2) & _
" " & Mid(S, 5, 2) & " " & Mid(S, 7, 2)) Then
Else
C.Interior.ColorIndex = 3
End If
Application.EnableEvents = True
End If
Next
End If
End Sub
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
eghHsvIaIHA.5208@TK2MSFTNGP04.phx.gbl...
ça met la cellule en "rouge" si la donnée entrée dans la cellule
ne respecte pas une série de chiffre tel que tu as énoncé.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim S As String, X As String
Dim Rg As Range, C As Range
Set Rg = Intersect(Target, Range("A1:A10"))
If Not Rg Is Nothing Then
For Each C In Rg
C.Interior.ColorIndex = xlNone
If C <> "" Then
Application.EnableEvents = False
S = Replace(C.Text, " ", "")
C.NumberFormat = "## ## ## ##"
X = Trim(C.Text)
If X = Trim(Left(S, 2) & " " & Mid(S, 3, 2) & _
" " & Mid(S, 5, 2) & " " & Mid(S, 7, 2)) Then
Else
C.Interior.ColorIndex = 3
End If
Application.EnableEvents = True
End If
Next
End If
End Sub
"J@@" <allezvoir@yeur.fr> a écrit dans le message de news: u$u324HaIHA.4160@TK2MSFTNGP03.phx.gbl...
Bonjour à tous
Dans une proc évènementielle, je peux alerter si une valeur dans une
cellule est excessive :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value > "40" 'etc
Ce qui fonctionne bien.
Malheureusement, les cellules concernées sont susceptibles de renfermer
plusieurs séries de 2 chiffres, au maximum 4, sous le format :
nn
nn nn
nn nn nn
nn nn nn nn
qui peuvent avoir une valeur quelconque, ex :
12 15 25 55
Est-il possible de faire, et comment :
If Target.Value contient une valeur > "40" 'etc
Merci pour les idées
@+
J@@
Une légère correction :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim S As String, X As String
Dim Rg As Range, C As Range
Set Rg = Intersect(Target, Range("A1:A10"))
If Not Rg Is Nothing Then
For Each C In Rg
C.Interior.ColorIndex = xlNone
If C <> "" Then
Application.EnableEvents = False
S = Replace(C.Text, " ", "")
C.NumberFormat = "## ## ## ##"
X = Trim(C.Text)
If Len(X) < 2 Or IsNumeric(X) = False Then
C.Interior.ColorIndex = 3
ElseIf X = Trim(Left(S, 2) & " " & Mid(S, 3, 2) & _
" " & Mid(S, 5, 2) & " " & Mid(S, 7, 2)) Then
Else
C.Interior.ColorIndex = 3
End If
Application.EnableEvents = True
End If
Next
End If
End Sub
"MichDenis" a écrit dans le message de news:
ça met la cellule en "rouge" si la donnée entrée dans la cellule
ne respecte pas une série de chiffre tel que tu as énoncé.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim S As String, X As String
Dim Rg As Range, C As Range
Set Rg = Intersect(Target, Range("A1:A10"))
If Not Rg Is Nothing Then
For Each C In Rg
C.Interior.ColorIndex = xlNone
If C <> "" Then
Application.EnableEvents = False
S = Replace(C.Text, " ", "")
C.NumberFormat = "## ## ## ##"
X = Trim(C.Text)
If X = Trim(Left(S, 2) & " " & Mid(S, 3, 2) & _
" " & Mid(S, 5, 2) & " " & Mid(S, 7, 2)) Then
Else
C.Interior.ColorIndex = 3
End If
Application.EnableEvents = True
End If
Next
End If
End Sub
"J@@" a écrit dans le message de news: u$
Bonjour à tous
Dans une proc évènementielle, je peux alerter si une valeur dans une
cellule est excessive :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value > "40" 'etc
Ce qui fonctionne bien.
Malheureusement, les cellules concernées sont susceptibles de renfermer
plusieurs séries de 2 chiffres, au maximum 4, sous le format :
nn
nn nn
nn nn nn
nn nn nn nn
qui peuvent avoir une valeur quelconque, ex :
12 15 25 55
Est-il possible de faire, et comment :
If Target.Value contient une valeur > "40" 'etc
Merci pour les idées
@+
J@@