Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Contrôle de saisie par procédure événementielle

0 views
Skip to first unread message

tiger

unread,
May 4, 2002, 10:15:10 AM5/4/02
to
Bonjour à tous,

Avec Excel 97 je voudrais faire un contrôle automatique de l'orthographe de
noms saisis dans une plage avec une procédure événementielle. Le code
suivant dans un premier temps me renvoyait le message d'erreur de saisie en
feuille 2 même si le nom était présent dans la plage a8:a100 de la feuille
1. Maintenant quoique je saisisse plus de message d'erreur. Comment y
remédier?

Private Sub Worksheet_Change(ByVal Target As Excel.Range)

Application.ScreenUpdating = False
Application.EnableEvents = False
Sheets(1).Select
If Sheets(1).Range("a8:a100").Find(Target) Is Nothing Then
Sheets(2).Select
MsgBox "Le nom " & UCase(Target) & vbCrLf & vbCrLf _
& "est inconnu ou mal orthographié !", vbCritical, "ERREUR DE SAISIE!"
End If
Target.ClearContents
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub


D'avance merci pour votre aide

ttigre


AV

unread,
May 4, 2002, 11:10:38 AM5/4/02
to
Comme tu as du avoir un plantage entre le "Application.EnableEvents = False"
et le "Application.EnableEvents = True", ton gestionnaire d'évènements est
surement désactivé
Fait un petit coup de :
Sub Réini()
Application.EnableEvents = True
End Sub
--- et reteste

AV

"tiger" <tti...@free.fr> a écrit dans le message news:
#LUrAc38BHA.2076@tkmsftngp07...

tiger

unread,
May 4, 2002, 11:24:18 AM5/4/02
to
Bonjour Alain,

Oui d'accord pour le désactivation, mais maintenant comme je l'avais dit
même quand le nom saisi est correctement orthographié j'ai toujours le
message d'erreur alors qu'il ne devrait pas y avoir de message d'erreur vu
que le nom saisi en feuille 2 existe bien en feuille 1.

Comment faire en sorte que quand le nom saisi en feuille 2 existe en feuille
1 il n'y ait plus de message d'erreur?

D'avance merci

ttigre


AV

unread,
May 4, 2002, 11:42:50 AM5/4/02
to
Ton "Application.EnableEvents = False" est mal placé !
Pour une saisie en Feuille(2) et contrôle dans Feuille(1), dans le module de
la Feuille(2)

Private Sub Worksheet_Change(ByVal Target As Excel.Range)

On Error Resume Next


If Sheets(1).Range("a8:a100").Find(Target) Is Nothing Then

MsgBox "Le nom " & UCase(Target) & vbCrLf & vbCrLf _
& "est inconnu ou mal orthographié !", vbCritical, "ERREUR DE SAISIE!"
End If

Application.EnableEvents = False
Target.ClearContents
Application.EnableEvents = True
Target.Select
End Sub

PS : les Feuille(1 ou 2) sont des index et non les noms des onglets
AV

"tiger" <tti...@free.fr> a écrit dans le message news:

uIxBKC48BHA.1848@tkmsftngp05...

tiger

unread,
May 4, 2002, 2:31:20 PM5/4/02
to
Bonjour Alain,

Vu pour l'Application.EnableEvents = False mal placé.

Encore merci

ttigre

0 new messages