OVH Cloud OVH Cloud

Len(Target)

7 réponses
Avatar
Louis
Bonsoir, là je cale alors que ce doit être vraiment bête.
J'ai honte.
Merci beaucoup

Private Sub Worksheet_Change(ByVal Target As Range)
var = Len(Target)
If not intersect(target, range("A3:A100) is nothing then
If var > 8 Then
MsgBox "Vous avez déposé " & var & " caractères dans cette cellule" _
& vbNewLine & "Vous devez en retirer " & var - 8, vbInformation, _
"Nombre de caractère > 8"
Target.Select
Target.Clear
End If
End If
End Sub

7 réponses

Avatar
...Patrick
If not intersect(target, range("A3:A100") is nothing then ' manque un "

...Patrick

"Louis" a écrit dans le message de
news:
Bonsoir, là je cale alors que ce doit être vraiment bête.
J'ai honte.
Merci beaucoup

Private Sub Worksheet_Change(ByVal Target As Range)
var = Len(Target)
If not intersect(target, range("A3:A100) is nothing then
If var > 8 Then
MsgBox "Vous avez déposé " & var & " caractères dans cette cellule" _
& vbNewLine & "Vous devez en retirer " & var - 8, vbInformation, _
"Nombre de caractère > 8"
Target.Select
Target.Clear
End If
End If
End Sub





Avatar
garnote
Salut Louis,

Est-ce que ça va mieux ainsi ?

Private Sub Worksheet_Change(ByVal Target As Range)
Var = Len(Target)
If Not Intersect(Target, Range("A3:A100")) Is Nothing Then
If Var > 8 Then
MsgBox "Vous avez déposé " & Var & " caractères dans cette cellule" _
& vbNewLine & "Vous devez en retirer " & Var - 8, vbInformation, _
"Nombre de caractère > 8"
Target.Select
Target.Clear
End If
End If
End Sub

Serge


"Louis" a écrit dans le message de news:

Bonsoir, là je cale alors que ce doit être vraiment bête.
J'ai honte.
Merci beaucoup

Private Sub Worksheet_Change(ByVal Target As Range)
var = Len(Target)
If not intersect(target, range("A3:A100) is nothing then
If var > 8 Then
MsgBox "Vous avez déposé " & var & " caractères dans cette cellule" _
& vbNewLine & "Vous devez en retirer " & var - 8, vbInformation, _
"Nombre de caractère > 8"
Target.Select
Target.Clear
End If
End If
End Sub





Avatar
Louis
C'est parfait, cela fonctionne très bien, mais comment dois-je faire si je
veux mettre Var as integer ?
Louis

"garnote" a écrit dans le message de
news:DvPpc.10795$
Salut Louis,

Est-ce que ça va mieux ainsi ?

Private Sub Worksheet_Change(ByVal Target As Range)
Var = Len(Target)
If Not Intersect(Target, Range("A3:A100")) Is Nothing Then
If Var > 8 Then
MsgBox "Vous avez déposé " & Var & " caractères dans cette cellule" _
& vbNewLine & "Vous devez en retirer " & Var - 8, vbInformation, _
"Nombre de caractère > 8"
Target.Select
Target.Clear
End If
End If
End Sub

Serge


"Louis" a écrit dans le message de news:

Bonsoir, là je cale alors que ce doit être vraiment bête.
J'ai honte.
Merci beaucoup

Private Sub Worksheet_Change(ByVal Target As Range)
var = Len(Target)
If not intersect(target, range("A3:A100) is nothing then
If var > 8 Then
MsgBox "Vous avez déposé " & var & " caractères dans cette cellule" _
& vbNewLine & "Vous devez en retirer " & var - 8, vbInformation, _
"Nombre de caractère > 8"
Target.Select
Target.Clear
End If
End If
End Sub









Avatar
Louis
Effectivement merci ...Patrick

"...Patrick" a écrit dans le message de
news:%
If not intersect(target, range("A3:A100") is nothing then ' manque un "

...Patrick

"Louis" a écrit dans le message de
news:
Bonsoir, là je cale alors que ce doit être vraiment bête.
J'ai honte.
Merci beaucoup

Private Sub Worksheet_Change(ByVal Target As Range)
var = Len(Target)
If not intersect(target, range("A3:A100) is nothing then
If var > 8 Then
MsgBox "Vous avez déposé " & var & " caractères dans cette cellule" _
& vbNewLine & "Vous devez en retirer " & var - 8, vbInformation, _
"Nombre de caractère > 8"
Target.Select
Target.Clear
End If
End If
End Sub









Avatar
michdenis
Bonjour Louis,

et ceci :


Private Sub Worksheet_Change(ByVal Target As Range)

Dim Rg As Range, Ok As Boolean
Set Rg = Intersect(Target, Range("A3:A100"))
If Not Rg Is Nothing Then
Ok = False
Application.EnableEvents = False
For Each c In Rg
If Len(c) > 8 Then
c.Interior.ColorIndex = 3
c.Font.ColorIndex = 2
c.Value = Left(c, 8)
Ok = True
Else
c.Interior.ColorIndex = xlNone
c.Font.ColorIndex = xlAutomatic
End If
Next
Application.EnableEvents = True
If Ok = True Then
MsgBox "Les cellules en rouge indiquent que " & _
"vous avez dépassé" & vbCrLf & _
"la limite de 8 caractères " & _
"permise dans cette plage de cellule."
Target.Select
End If
End If

End Sub
.----------------------------


Salutations!




"Louis" a écrit dans le message de news:
Bonsoir, là je cale alors que ce doit être vraiment bête.
J'ai honte.
Merci beaucoup

Private Sub Worksheet_Change(ByVal Target As Range)
var = Len(Target)
If not intersect(target, range("A3:A100) is nothing then
If var > 8 Then
MsgBox "Vous avez déposé " & var & " caractères dans cette cellule" _
& vbNewLine & "Vous devez en retirer " & var - 8, vbInformation, _
"Nombre de caractère > 8"
Target.Select
Target.Clear
End If
End If
End Sub
Avatar
Louis
Wouah ! Vraiment balèze cette proc Michdenis
Merci
Louis

"michdenis" a écrit dans le message de
news:
Bonjour Louis,

et ceci :


Private Sub Worksheet_Change(ByVal Target As Range)

Dim Rg As Range, Ok As Boolean
Set Rg = Intersect(Target, Range("A3:A100"))
If Not Rg Is Nothing Then
Ok = False
Application.EnableEvents = False
For Each c In Rg
If Len(c) > 8 Then
c.Interior.ColorIndex = 3
c.Font.ColorIndex = 2
c.Value = Left(c, 8)
Ok = True
Else
c.Interior.ColorIndex = xlNone
c.Font.ColorIndex = xlAutomatic
End If
Next
Application.EnableEvents = True
If Ok = True Then
MsgBox "Les cellules en rouge indiquent que " & _
"vous avez dépassé" & vbCrLf & _
"la limite de 8 caractères " & _
"permise dans cette plage de cellule."
Target.Select
End If
End If

End Sub
.----------------------------


Salutations!




"Louis" a écrit dans le message de
news:

Bonsoir, là je cale alors que ce doit être vraiment bête.
J'ai honte.
Merci beaucoup

Private Sub Worksheet_Change(ByVal Target As Range)
var = Len(Target)
If not intersect(target, range("A3:A100) is nothing then
If var > 8 Then
MsgBox "Vous avez déposé " & var & " caractères dans cette cellule" _
& vbNewLine & "Vous devez en retirer " & var - 8, vbInformation, _
"Nombre de caractère > 8"
Target.Select
Target.Clear
End If
End If
End Sub






Avatar
Louis
Salut, et comme cela, ça ne fonctionne pas !

Dim Rg As Range
Var = Len(Target)
Set Rg = Intersect(Target, Range("A3:A100"))
If Not Rg Is Nothing Then
If Var > 8 Then
MsgBox "Vous avez déposé " & Var & " caractères dans cette cellule" _
& vbNewLine & "Vous devez en retirer " & Var - 8, vbInformation, _
"Nombre de caractère > 8"
Target.Select
Target.Clear
End If
End If
End Sub
"michdenis" a écrit dans le message de
news:
Bonjour Louis,

et ceci :


Private Sub Worksheet_Change(ByVal Target As Range)

Dim Rg As Range, Ok As Boolean
Set Rg = Intersect(Target, Range("A3:A100"))
If Not Rg Is Nothing Then
Ok = False
Application.EnableEvents = False
For Each c In Rg
If Len(c) > 8 Then
c.Interior.ColorIndex = 3
c.Font.ColorIndex = 2
c.Value = Left(c, 8)
Ok = True
Else
c.Interior.ColorIndex = xlNone
c.Font.ColorIndex = xlAutomatic
End If
Next
Application.EnableEvents = True
If Ok = True Then
MsgBox "Les cellules en rouge indiquent que " & _
"vous avez dépassé" & vbCrLf & _
"la limite de 8 caractères " & _
"permise dans cette plage de cellule."
Target.Select
End If
End If

End Sub
.----------------------------


Salutations!




"Louis" a écrit dans le message de
news:

Bonsoir, là je cale alors que ce doit être vraiment bête.
J'ai honte.
Merci beaucoup

Private Sub Worksheet_Change(ByVal Target As Range)
var = Len(Target)
If not intersect(target, range("A3:A100) is nothing then
If var > 8 Then
MsgBox "Vous avez déposé " & var & " caractères dans cette cellule" _
& vbNewLine & "Vous devez en retirer " & var - 8, vbInformation, _
"Nombre de caractère > 8"
Target.Select
Target.Clear
End If
End If
End Sub