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

afficher 1 message selon condition

12 réponses
Avatar
squeepy
Bonjour
Dans un tableau, j'ai de E2 à E1000, 1 formule de type E2 =c2/d2
E3 =c3/d3
etc
Donc pour l'instant, on a que des #div/o (c'est normal car le tableau n'est
pas rempli, on va le remplir au fur et a mesure)
Ce que j'essaye de faire, c'est qu'aprés avoir rentré les données en c2 et
d2, vu qu'il me fait un calcul en e2, si en E2, le chiffre qui est calculé
est <= à 5, alors rien. Sinon quand le chiffre est supérieur ou = à 6 alors
affichage d'un message
et ceci pour chaque cellule (e2,e3,e4,...,e1000)
j'ai essayé ca mais ca marche pas :
For Each c In Worksheets("feuil1").Range("e2:e1000")
If c.Value > 5 Then
MsgBox ("test")
End If
Next c
quelqu'un peut t'il m'aider?

--
Merci de votre aide

2 réponses

1 2
Avatar
Jacky
Re...
Un exit sub dans la boucle ??
'-------------
Private Sub Worksheet_Change(ByVal Target As Range)
For Each c In Worksheets("feuil1").Range("e2:e1000")
If Not IsError(c) Then
If c > 5 Then MsgBox "test erreur en " & c.Address
Exit Sub
End If
Next c
End Sub
'---------
OU
'---------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [c2:d1000]) Is Nothing Then
If Not IsError(Range("e" & Target.Row)) Then
If Range("e" & Target.Row) > 5 Then MsgBox "test erreur en " & ("E" &
Target.Row)
End If
End If
End Sub
'--------------
--
Salutations
JJ


"squeepy" a écrit dans le message de
news:
merci Jacky
C'est un peu plus ce que je recherche mais le souci est que le chiffre est
7.5 en E5 par exemple, donc il marque une erreur : ok
si je passe en dessous et que je rentre 20 en C6, il me dit qu'il y a
toujours une erreur en E5
j'aurais aimé que le msgbox ne s'affiche qu'une fois et disparaisse pour
qu'on puisse passer à la suite

--
Merci de votre aide



Re...
Ceci peut-être
'----------
Private Sub Worksheet_Change(ByVal Target As Range)
For Each c In Worksheets("feuil1").Range("e2:e1000")
If Not IsError(c) Then
If c > 5 Then MsgBox "test erreur en " & c.Address
End If
Next c
End Sub
'---------

--
Salutations
JJ


"squeepy" a écrit dans le message de
news:
http://cjoint.com/?eli1WRArQD

merci de ton temps




Re...
Peux-tu mettre un extrait de ton fichier sur
http://cjoint.com

--
Salutations
JJ


"squeepy" a écrit dans le message
de
news:
oui
c'est la bonne feuille
il me marque incompatibilité de type

quand je passe sur le c dans le code, il me marque c = erreur 2007
???
--
Merci de votre aide



Re...
Ben.... a priori, il n'y a aucune raison pour que ce code
'----
For Each c In Worksheets("feuil1").Range("e2:e1000")
If c.Value > 5 Then
MsgBox ("test")
End If
Next c
'-------------
ne fonctionne pas
Est-ce bien la bonne feuille ??
--
Salutations
JJ


"squeepy" a écrit dans le
message
de
news:
Merci a vous 3. Mais ce n'est pas cela que je demande. Le message
a
afficher
je le veux sous forme de MSGBOX, c'est a dire qu'il apparait à
l'utilsateur
dans une boite grise
donc c'est pour ca que je passais par du code
Si inférieur ou = à 5 alors on laisse le chiffre
si supérieur ou = à 6 alors on laisse le chiffre mais en
affichant
un
message à l'écran
--
Merci de votre aide



Bonjour,

Pas besoin de macro pour ca, essaye cette formule dans ta
colonne
E:
=SI((C2/D2)>=6;"Message a afficher";"")


Bonne chance
Manu/

"squeepy" a écrit dans le
message
de
news:
Bonjour
Dans un tableau, j'ai de E2 à E1000, 1 formule de type E2
Â/d2
E3 Ã/d3
etc
Donc pour l'instant, on a que des #div/o (c'est normal car le
tableau
n'est
pas rempli, on va le remplir au fur et a mesure)
Ce que j'essaye de faire, c'est qu'aprés avoir rentré les
données
en
c2
et
d2, vu qu'il me fait un calcul en e2, si en E2, le chiffre qui
est
calculé
est <= à 5, alors rien. Sinon quand le chiffre est supérieur
ou >> >> >> >> > à
6
alors
affichage d'un message
et ceci pour chaque cellule (e2,e3,e4,...,e1000)
j'ai essayé ca mais ca marche pas :
For Each c In Worksheets("feuil1").Range("e2:e1000")
If c.Value > 5 Then
MsgBox ("test")
End If
Next c
quelqu'un peut t'il m'aider?

--
Merci de votre aide






























Avatar
squeepy
le exit sub ne fonctionne pas
le test ne se fé pas

mais pour la 2e, impeccable
merci pr tout
--



Re...
Un exit sub dans la boucle ??
'-------------
Private Sub Worksheet_Change(ByVal Target As Range)
For Each c In Worksheets("feuil1").Range("e2:e1000")
If Not IsError(c) Then
If c > 5 Then MsgBox "test erreur en " & c.Address
Exit Sub
End If
Next c
End Sub
'---------
OU
'---------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [c2:d1000]) Is Nothing Then
If Not IsError(Range("e" & Target.Row)) Then
If Range("e" & Target.Row) > 5 Then MsgBox "test erreur en " & ("E" &
Target.Row)
End If
End If
End Sub
'--------------
--
Salutations
JJ


"squeepy" a écrit dans le message de
news:
merci Jacky
C'est un peu plus ce que je recherche mais le souci est que le chiffre est
7.5 en E5 par exemple, donc il marque une erreur : ok
si je passe en dessous et que je rentre 20 en C6, il me dit qu'il y a
toujours une erreur en E5
j'aurais aimé que le msgbox ne s'affiche qu'une fois et disparaisse pour
qu'on puisse passer à la suite

--
Merci de votre aide



Re...
Ceci peut-être
'----------
Private Sub Worksheet_Change(ByVal Target As Range)
For Each c In Worksheets("feuil1").Range("e2:e1000")
If Not IsError(c) Then
If c > 5 Then MsgBox "test erreur en " & c.Address
End If
Next c
End Sub
'---------

--
Salutations
JJ


"squeepy" a écrit dans le message de
news:
http://cjoint.com/?eli1WRArQD

merci de ton temps




Re...
Peux-tu mettre un extrait de ton fichier sur
http://cjoint.com

--
Salutations
JJ


"squeepy" a écrit dans le message
de
news:
oui
c'est la bonne feuille
il me marque incompatibilité de type

quand je passe sur le c dans le code, il me marque c = erreur 2007
???
--
Merci de votre aide



Re...
Ben.... a priori, il n'y a aucune raison pour que ce code
'----
For Each c In Worksheets("feuil1").Range("e2:e1000")
If c.Value > 5 Then
MsgBox ("test")
End If
Next c
'-------------
ne fonctionne pas
Est-ce bien la bonne feuille ??
--
Salutations
JJ


"squeepy" a écrit dans le
message
de
news:
Merci a vous 3. Mais ce n'est pas cela que je demande. Le message
a
afficher
je le veux sous forme de MSGBOX, c'est a dire qu'il apparait à
l'utilsateur
dans une boite grise
donc c'est pour ca que je passais par du code
Si inférieur ou = à 5 alors on laisse le chiffre
si supérieur ou = à 6 alors on laisse le chiffre mais en
affichant
un
message à l'écran
--
Merci de votre aide



Bonjour,

Pas besoin de macro pour ca, essaye cette formule dans ta
colonne
E:
=SI((C2/D2)>=6;"Message a afficher";"")


Bonne chance
Manu/

"squeepy" a écrit dans le
message
de
news:
Bonjour
Dans un tableau, j'ai de E2 à E1000, 1 formule de type E2
Â/d2
E3 Ã/d3
etc
Donc pour l'instant, on a que des #div/o (c'est normal car le
tableau
n'est
pas rempli, on va le remplir au fur et a mesure)
Ce que j'essaye de faire, c'est qu'aprés avoir rentré les
données
en
c2
et
d2, vu qu'il me fait un calcul en e2, si en E2, le chiffre qui
est
calculé
est <= à 5, alors rien. Sinon quand le chiffre est supérieur
ou > >> >> >> >> > à
6
alors
affichage d'un message
et ceci pour chaque cellule (e2,e3,e4,...,e1000)
j'ai essayé ca mais ca marche pas :
For Each c In Worksheets("feuil1").Range("e2:e1000")
If c.Value > 5 Then
MsgBox ("test")
End If
Next c
quelqu'un peut t'il m'aider?

--
Merci de votre aide



































1 2