Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

proc évènementielle sur cellule contenant plusieurs paires de chiffres

13 réponses
Avatar
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@@

3 réponses

1 2
Avatar
J
Re-bonjour
Un détail : comment rester sur le target fautif, pour faciliter la
ressaisie?
ex :
a1 est fautif, quand je clique enter,
=>a2 est sélectionnée
*et* la sub se lance pour prévenir de l'erreur.
Alors on ferme le Msgbox, mais on reste en A2.
Un peu comme Target=Target (0,-1) mais cela ne marche pas :-[
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@@




Avatar
J
Re bonjour isabelle & Co
J'ai trouvé :
Target.Offset(0, 0).Select
me permet de rester sur la cellule où la saisie est fautive.
Merci encore et bonne nuit/jour etc
Je vais me coucher :-)
@+
J@@

Re-bonjour
Un détail : comment rester sur le target fautif, pour faciliter la
ressaisie?
ex :
a1 est fautif, quand je clique enter,
=>a2 est sélectionnée
*et* la sub se lance pour prévenir de l'erreur.
Alors on ferme le Msgbox, mais on reste en A2.
Un peu comme Target=Target (0,-1) mais cela ne marche pas :-[
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@@






Avatar
JB
Target.Select suffit

JB
On 6 fév, 09:11, "J@@" wrote:
Re bonjour isabelle & Co
J'ai trouvé :
Target.Offset(0, 0).Select
me permet de rester sur la cellule où la saisie est fautive.
Merci encore et bonne nuit/jour etc
Je vais me coucher :-)
@+
J@@




Re-bonjour
Un détail : comment rester sur le target fautif, pour faciliter la
ressaisie?
ex :
a1 est fautif, quand je clique enter,
=>a2 est sélectionnée
*et* la sub se lance pour prévenir de l'erreur.
Alors on ferme le Msgbox, mais on reste en A2.
Un peu comme Target=Target (0,-1) mais cela ne marche pas :-[
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 u ne
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 form at :
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@@- Masquer le texte des messages précédents -




- Afficher le texte des messages précédents -





1 2