OVH Cloud OVH Cloud

À l'aide (Worksheet_change)

3 réponses
Avatar
Clément Almecque
Salutations!

j'utilise l'=E9vennement Worksheet_change et j'ai un petit=20
probl=E8me. Dans une boucle For je v=E9rifie o=F9 la personne=20
clique dans la feuille. Entre autre, le probl=E8me est :
lorsque je saisi un nombre en F2 alors la cellule E2 doit=20
imp=E9rativement =EAtre "Locked" sinon la valeur entr=E9e en F2=20
s'efface et un message d'erreur s'affiche par MsgBox. Le=20
probl=E8me est que j'entre dans une boucle sans fin et je=20
dois faire Ctrl-Break... avez-vous une solution?

Merci!
Clem

3 réponses

Avatar
Patrick Fredin
Bonjour,

Il y a l'événement "Worksheet_SelectionChange" qui permet de savoir où se
trouve la cellule active.

--
Patrick

"Clément Almecque" wrote in message
news:0e3401c4cb40$7cb1f780$
Salutations!

j'utilise l'évennement Worksheet_change et j'ai un petit
problème. Dans une boucle For je vérifie où la personne
clique dans la feuille. Entre autre, le problème est :
lorsque je saisi un nombre en F2 alors la cellule E2 doit
impérativement être "Locked" sinon la valeur entrée en F2
s'efface et un message d'erreur s'affiche par MsgBox. Le
problème est que j'entre dans une boucle sans fin et je
dois faire Ctrl-Break... avez-vous une solution?

Merci!
Clem
Avatar
Hervé
Salut Clément,
avec ceci ?
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "F2" Then
If [E2].Locked = False Then
Application.EnableEvents = False
[F2].Value = ""
MsgBox "E2 doit être verrouillez !"
Application.EnableEvents = True
End If
End If
End Sub

Hervé.

"Clément Almecque" a écrit dans le
message news: 0e3401c4cb40$7cb1f780$
Salutations!

j'utilise l'évennement Worksheet_change et j'ai un petit
problème. Dans une boucle For je vérifie où la personne
clique dans la feuille. Entre autre, le problème est :
lorsque je saisi un nombre en F2 alors la cellule E2 doit
impérativement être "Locked" sinon la valeur entrée en F2
s'efface et un message d'erreur s'affiche par MsgBox. Le
problème est que j'entre dans une boucle sans fin et je
dois faire Ctrl-Break... avez-vous une solution?

Merci!
Clem
Avatar
Clément Almecque
Bonjour Hervé,

Dans ma boucle For cela comprend 52 colonnes et la
suivante (exemple : G2) doit aussi vérifier si la cellule
précedente a aussi été gelée. Donc, on ne peut pas faire
de saisi si, dans tous les cas, la cellule précédente
n'est pas gelée (Locked).

As-tu une idée adaptée à ce nombre de colonne et qui
n'entrera pas dans une boucle sans fin? Parce que,
lorsque j'efface la valeur (lorsque la cellule précédente
n'a pas été gelée) eh bien le processus roule sans cesse.

Merci de ton aide.

-----Message d'origine-----
Salut Clément,
avec ceci ?
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "F2" Then
If [E2].Locked = False Then
Application.EnableEvents = False
[F2].Value = ""
MsgBox "E2 doit être verrouillez !"
Application.EnableEvents = True
End If
End If
End Sub

Hervé.

"Clément Almecque"
a écrit dans le

message news: 0e3401c4cb40$7cb1f780$
Salutations!

j'utilise l'évennement Worksheet_change et j'ai un petit
problème. Dans une boucle For je vérifie où la personne
clique dans la feuille. Entre autre, le problème est :
lorsque je saisi un nombre en F2 alors la cellule E2 doit
impérativement être "Locked" sinon la valeur entrée en F2
s'efface et un message d'erreur s'affiche par MsgBox. Le
problème est que j'entre dans une boucle sans fin et je
dois faire Ctrl-Break... avez-vous une solution?

Merci!
Clem


.