OVH Cloud OVH Cloud

données validations

7 réponses
Avatar
rick
Bonjour,

J'ai une liste deroulante sur la cellule A2,
et des montant dans la cellule E2 à H2.

Si dans la cellule A2, j'ai le terme diminution, alors je souhaite affciher
un message d'alerte sur les cellules E2 à H2 quand je commence à saisir des
montants.

J'ai essayé avec données validation, dans les cellules E2 à H2

SI (A2="Diminution";...)

mais cela ne passe pas.
avez vous une idée, merci d'avance?

7 réponses

Avatar
Hervé
Salut Rick,
Par VBA, en mettant le code suivant dans le module de la feuille concernée :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Union([H2], [E2])) Is Nothing Then
If [A2] = "Diminution" Then
'supprime les trois lignes suivantes
'si tu ne veux pas que la valeur
'saisie soit supprimée de la cellule
Application.EnableEvents = False
Target = ""
Application.EnableEvents = True
'message au cas où ...
MsgBox "Fait gaffe, il y a une diminution... :o(( "
End If
End If
End Sub

Hervé.

"rick" a écrit dans le message news:

Bonjour,

J'ai une liste deroulante sur la cellule A2,
et des montant dans la cellule E2 à H2.

Si dans la cellule A2, j'ai le terme diminution, alors je souhaite
affciher

un message d'alerte sur les cellules E2 à H2 quand je commence à saisir
des

montants.

J'ai essayé avec données validation, dans les cellules E2 à H2

SI (A2="Diminution";...)

mais cela ne passe pas.
avez vous une idée, merci d'avance?


Avatar
rick
avec données validation, on ne peut rien faire.???

merci d'avance


Salut Rick,
Par VBA, en mettant le code suivant dans le module de la feuille concernée :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Union([H2], [E2])) Is Nothing Then
If [A2] = "Diminution" Then
'supprime les trois lignes suivantes
'si tu ne veux pas que la valeur
'saisie soit supprimée de la cellule
Application.EnableEvents = False
Target = ""
Application.EnableEvents = True
'message au cas où ...
MsgBox "Fait gaffe, il y a une diminution... :o(( "
End If
End If
End Sub

Hervé.

"rick" a écrit dans le message news:

Bonjour,

J'ai une liste deroulante sur la cellule A2,
et des montant dans la cellule E2 à H2.

Si dans la cellule A2, j'ai le terme diminution, alors je souhaite
affciher

un message d'alerte sur les cellules E2 à H2 quand je commence à saisir
des

montants.

J'ai essayé avec données validation, dans les cellules E2 à H2

SI (A2="Diminution";...)

mais cela ne passe pas.
avez vous une idée, merci d'avance?







Avatar
rick
comment je doit faire quand c'est pas seulement sur A2, la plage est de A2 à
A50
et E2 à H50

merci


Salut Rick,
Par VBA, en mettant le code suivant dans le module de la feuille concernée :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Union([H2], [E2])) Is Nothing Then
If [A2] = "Diminution" Then
'supprime les trois lignes suivantes
'si tu ne veux pas que la valeur
'saisie soit supprimée de la cellule
Application.EnableEvents = False
Target = ""
Application.EnableEvents = True
'message au cas où ...
MsgBox "Fait gaffe, il y a une diminution... :o(( "
End If
End If
End Sub

Hervé.

"rick" a écrit dans le message news:

Bonjour,

J'ai une liste deroulante sur la cellule A2,
et des montant dans la cellule E2 à H2.

Si dans la cellule A2, j'ai le terme diminution, alors je souhaite
affciher

un message d'alerte sur les cellules E2 à H2 quand je commence à saisir
des

montants.

J'ai essayé avec données validation, dans les cellules E2 à H2

SI (A2="Diminution";...)

mais cela ne passe pas.
avez vous une idée, merci d'avance?







Avatar
rick
j'ai testé:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Union([Z15], [AC15])) Is Nothing Then
If [Y15] = "Diminution" Then
'supprime les trois lignes suivantes
'si tu ne veux pas que la valeur
'saisie soit supprimée de la cellule
'Application.EnableEvents = False
' Target = ""
' Application.EnableEvents = True
'message au cas où ...
MsgBox "Fait gaffe, il y a une diminution... :o(( "
End If
End If
End Sub


quand je met dans Y15 diminution, en allant dans les cellules de Z15 à AC15,
le message box n'apparait pas.

Pourquoi?

merci

Salut Rick,
Par VBA, en mettant le code suivant dans le module de la feuille concernée :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Union([H2], [E2])) Is Nothing Then
If [A2] = "Diminution" Then
'supprime les trois lignes suivantes
'si tu ne veux pas que la valeur
'saisie soit supprimée de la cellule
Application.EnableEvents = False
Target = ""
Application.EnableEvents = True
'message au cas où ...
MsgBox "Fait gaffe, il y a une diminution... :o(( "
End If
End If
End Sub

Hervé.

"rick" a écrit dans le message news:

Bonjour,

J'ai une liste deroulante sur la cellule A2,
et des montant dans la cellule E2 à H2.

Si dans la cellule A2, j'ai le terme diminution, alors je souhaite
affciher

un message d'alerte sur les cellules E2 à H2 quand je commence à saisir
des

montants.

J'ai essayé avec données validation, dans les cellules E2 à H2

SI (A2="Diminution";...)

mais cela ne passe pas.
avez vous une idée, merci d'avance?







Avatar
jps
ce n'est pas parce que rick pose sa question par trois fois qu'on doit lui
donner une réponse bancale : rick a parlé de la plage de cellule allant de
E2 à H2 ; or, cette proc ne concerne que les cellules E2 et H2 ; c'est tout
à fait inadmissible...
le crédit lyonnais (et la BNP n'agit pas différement) exige des
contributeurs de ce forum une coopération, gracieuse certes - chose très
appréciée d'une banque qui ne fait rien gratuitement- mais exempte d'erreurs
; en effet, les collaborateurs de ladite banque ne sont pas payés pour
vérifier les procédures offertes mais sont jugés sur leur qualité à harceler
les contributeurs de mpfe, les coûts du temps qu'ils consacrent à ce type de
comportements étant pris sur le budget formation professionnelle...
jps

"Hervé" a écrit dans le message de
news:
Salut Rick,
Par VBA, en mettant le code suivant dans le module de la feuille concernée
:


Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Union([H2], [E2])) Is Nothing Then
If [A2] = "Diminution" Then
'supprime les trois lignes suivantes
'si tu ne veux pas que la valeur
'saisie soit supprimée de la cellule
Application.EnableEvents = False
Target = ""
Application.EnableEvents = True
'message au cas où ...
MsgBox "Fait gaffe, il y a une diminution... :o(( "
End If
End If
End Sub

Hervé.

"rick" a écrit dans le message news:

Bonjour,

J'ai une liste deroulante sur la cellule A2,
et des montant dans la cellule E2 à H2.

Si dans la cellule A2, j'ai le terme diminution, alors je souhaite
affciher

un message d'alerte sur les cellules E2 à H2 quand je commence à saisir
des

montants.

J'ai essayé avec données validation, dans les cellules E2 à H2

SI (A2="Diminution";...)

mais cela ne passe pas.
avez vous une idée, merci d'avance?






Avatar
jps
sans parler de la faute d'orthographe dans le texte de la Msgbox....mais
bon, si c'est pour les anglais, ça devrait passer...
jps

"jps" a écrit dans le message de
news:
ce n'est pas parce que rick pose sa question par trois fois qu'on doit lui
donner une réponse bancale : rick a parlé de la plage de cellule allant de
E2 à H2 ; or, cette proc ne concerne que les cellules E2 et H2 ; c'est
tout

à fait inadmissible...
le crédit lyonnais (et la BNP n'agit pas différement) exige des
contributeurs de ce forum une coopération, gracieuse certes - chose très
appréciée d'une banque qui ne fait rien gratuitement- mais exempte
d'erreurs

; en effet, les collaborateurs de ladite banque ne sont pas payés pour
vérifier les procédures offertes mais sont jugés sur leur qualité à
harceler

les contributeurs de mpfe, les coûts du temps qu'ils consacrent à ce type
de

comportements étant pris sur le budget formation professionnelle...
jps

"Hervé" a écrit dans le message de
news:
Salut Rick,
Par VBA, en mettant le code suivant dans le module de la feuille
concernée


:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Union([H2], [E2])) Is Nothing Then
If [A2] = "Diminution" Then
'supprime les trois lignes suivantes
'si tu ne veux pas que la valeur
'saisie soit supprimée de la cellule
Application.EnableEvents = False
Target = ""
Application.EnableEvents = True
'message au cas où ...
MsgBox "Fait gaffe, il y a une diminution... :o(( "
End If
End If
End Sub

Hervé.

"rick" a écrit dans le message news:

Bonjour,

J'ai une liste deroulante sur la cellule A2,
et des montant dans la cellule E2 à H2.

Si dans la cellule A2, j'ai le terme diminution, alors je souhaite
affciher

un message d'alerte sur les cellules E2 à H2 quand je commence à
saisir



des
montants.

J'ai essayé avec données validation, dans les cellules E2 à H2

SI (A2="Diminution";...)

mais cela ne passe pas.
avez vous une idée, merci d'avance?









Avatar
Hervé
Salut Rick,
Désolé, j'ai mal lu la question et donc la réponse est incomplète voir
erronée.
Voici le code corrigé, la plage contrôlée est de A2 à A50 (diminution) et la
plage de saisie est de E2:H50 :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [E2:H50]) Is Nothing Then
If Range("A" & Target.Row) = "Diminution" Then
'supprime les trois lignes suivantes
'si tu ne veux pas que la valeur
'saisie soit supprimée de la cellule
Application.EnableEvents = False
Target = ""
Application.EnableEvents = True
'message au cas où ...
MsgBox "Fais gaffe, il y a une diminution... :o(( "
End If
End If
End Sub

Hervé.

"rick" a écrit dans le message news:

j'ai testé:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Union([Z15], [AC15])) Is Nothing Then
If [Y15] = "Diminution" Then
'supprime les trois lignes suivantes
'si tu ne veux pas que la valeur
'saisie soit supprimée de la cellule
'Application.EnableEvents = False
' Target = ""
' Application.EnableEvents = True
'message au cas où ...
MsgBox "Fait gaffe, il y a une diminution... :o(( "
End If
End If
End Sub


quand je met dans Y15 diminution, en allant dans les cellules de Z15 à
AC15,

le message box n'apparait pas.

Pourquoi?

merci

Salut Rick,
Par VBA, en mettant le code suivant dans le module de la feuille
concernée :



Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Union([H2], [E2])) Is Nothing Then
If [A2] = "Diminution" Then
'supprime les trois lignes suivantes
'si tu ne veux pas que la valeur
'saisie soit supprimée de la cellule
Application.EnableEvents = False
Target = ""
Application.EnableEvents = True
'message au cas où ...
MsgBox "Fait gaffe, il y a une diminution... :o(( "
End If
End If
End Sub

Hervé.

"rick" a écrit dans le message news:

Bonjour,

J'ai une liste deroulante sur la cellule A2,
et des montant dans la cellule E2 à H2.

Si dans la cellule A2, j'ai le terme diminution, alors je souhaite
affciher

un message d'alerte sur les cellules E2 à H2 quand je commence à
saisir



des
montants.

J'ai essayé avec données validation, dans les cellules E2 à H2

SI (A2="Diminution";...)

mais cela ne passe pas.
avez vous une idée, merci d'avance?