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

Alerte sonore et rejet de valeur

7 réponses
Avatar
jthillard
Bonjour,

J'ai une valeur maximale en A1 et je voudrais que lorsque la valeur
entr=E9e en A2 est ou inf=E9rieure =E0 0 ou sup=E9rieur =E0 la valeur de la
cellule A1 un bip retentisse et que le contenu de la cellule A2
s'effece.
Quelqu'un saurait me dire comment je peux faire en VBA?
Merci JP

7 réponses

Avatar
Caetera
J'ai une valeur maximale en A1 et je voudrais que lorsque la valeur
entrée en A2 est ou inférieure à 0 ou supérieur à la valeur de la
cellule A1 un bip retentisse et que le contenu de la cellule A2
s'effece.

Dans le module de la feuille :

Private Sub Worksheet_Change(ByVal x As Range)
If x.Address <> "$A$2" Then Exit Sub
If x < 0 Or x > [A1] Then [A2] = "": Beep
End Sub

Etc
Avatar
jthillard
Ok, mais le beep est léger. Peut-on en faire un plus gros (bigbeep
lol!)
Merci
JP

On 26 avr, 10:58, "Caetera" <EtiennePloufCahé@wanadoo.fr> wrote:
J'ai une valeur maximale en A1 et je voudrais que lorsque la valeur
entrée en A2 est ou inférieure à 0 ou supérieur à la valeur de la
cellule A1 un bip retentisse et que le contenu de la cellule A2
s'effece.

Dans le module de la feuille :

Private Sub Worksheet_Change(ByVal x As Range)
If x.Address <> "$A$2" Then Exit Sub
If x < 0 Or x > [A1] Then [A2] = "": Beep
End Sub

Etc


Avatar
jthillard
STP Caetera, une autre question car je n'arrive pas adapter la macro à
ma situation.
Les valeurs Maximales sont situées de C8:G8
En dessous, la plage où je rentre des valeurs est de C9:G48
En fait, toutes les valeurs de:
C9:C49 ne devraient pas être inférieures à 0 ou supérieur à C8.
D9:D49 ne devraient pas être inférieures à 0 ou supérieur à D8
etc...

Merci pour l'aide

JP


On 26 avr, 11:34, wrote:
Ok, mais le beep est léger. Peut-on en faire un plus gros (bigbeep
lol!)
Merci
JP

On 26 avr, 10:58, "Caetera" <EtiennePloufCahé@wanadoo.fr> wrote:



> J'ai une valeur maximale en A1 et je voudrais que lorsque la valeur
> entrée en A2 est ou inférieure à 0 ou supérieur à la valeur d e la
> cellule A1 un bip retentisse et que le contenu de la cellule A2
> s'effece.

> Dans le module de la feuille :

> Private Sub Worksheet_Change(ByVal x As Range)
> If x.Address <> "$A$2" Then Exit Sub
> If x < 0 Or x > [A1] Then [A2] = "": Beep
> End Sub

> Etc- Masquer le texte des messages précédents -

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


Avatar
Jacky
Bonjour,

Sana VBA, il y a données / validation qui fait cela .....
Voir ici:
http://www.cijoint.fr/cjlink.php?file=cj200904/cijCrx2QfB.xls
--
Salutations
JJ


a écrit dans le message de news:

Bonjour,

J'ai une valeur maximale en A1 et je voudrais que lorsque la valeur
entrée en A2 est ou inférieure à 0 ou supérieur à la valeur de la
cellule A1 un bip retentisse et que le contenu de la cellule A2
s'effece.
Quelqu'un saurait me dire comment je peux faire en VBA?
Merci JP
Avatar
Caetera
Les valeurs Maximales sont situées de C8:G8
En dessous, la plage où je rentre des valeurs est de C9:G48
En fait, toutes les valeurs de:
C9:C49 ne devraient pas être inférieures à 0 ou supérieur à C8.
D9:D49 ne devraient pas être inférieures à 0 ou supérieur à D8
etc...

Mets ça dans le module de la feuille et...monte le son !

Private Sub Worksheet_Change(ByVal x As Range)
If Intersect(x, [C9:G49]) Is Nothing Then Exit Sub
If x.Value < 0 Or x.Value > Cells(8, x.Column).Value Then
For i = 1 To 3
Application.Wait (Now + TimeValue("0:00:01"))
Beep
Next
x.Value = ""
End If
End Sub

Etc
Avatar
jthillard
Merci à vous, la méthode de Caetera me convient très bien mais je
testerai les autres possibilités prochainement.
JP

On 26 avr, 14:59, "Caetera" <EtiennePloufCahé@wanadoo.fr> wrote:
Les valeurs Maximales sont situées de C8:G8
En dessous, la plage où je rentre des valeurs est de C9:G48
En fait, toutes les valeurs de:
C9:C49 ne devraient pas être inférieures à 0 ou supérieur à C8.
D9:D49 ne devraient pas être inférieures à 0 ou supérieur à D8
etc...

Mets ça dans le module de la feuille et...monte le son !

Private Sub Worksheet_Change(ByVal x As Range)
If Intersect(x, [C9:G49]) Is Nothing Then Exit Sub
 If x.Value < 0 Or x.Value > Cells(8, x.Column).Value Then
      For i = 1 To 3
            Application.Wait (Now + TimeValue("0:00:01"))
            Beep
      Next
      x.Value = ""
End If
End Sub

Etc


Avatar
jthillard
Pourquoi faire compliquer quand on peut faire simple. J'ai mis la
proposition de Jacky en oeuvre.
Encore merci pour vos réponses.
JP

On 26 avr, 15:42, wrote:
Merci à vous, la méthode de Caetera me convient très bien mais je
testerai les autres possibilités prochainement.
JP

On 26 avr, 14:59, "Caetera" <EtiennePloufCahé@wanadoo.fr> wrote:



> Les valeurs Maximales sont situées de C8:G8
> En dessous, la plage où je rentre des valeurs est de C9:G48
> En fait, toutes les valeurs de:
> C9:C49 ne devraient pas être inférieures à 0 ou supérieur à C 8.
> D9:D49 ne devraient pas être inférieures à 0 ou supérieur à D 8
> etc...

> Mets ça dans le module de la feuille et...monte le son !

> Private Sub Worksheet_Change(ByVal x As Range)
> If Intersect(x, [C9:G49]) Is Nothing Then Exit Sub
>  If x.Value < 0 Or x.Value > Cells(8, x.Column).Value Then
>       For i = 1 To 3
>             Application.Wait (Now + TimeValue("0:00:01"))
>             Beep
>       Next
>       x.Value = ""
> End If
> End Sub

> Etc- Masquer le texte des messages précédents -

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