Blocage sur VBA

meldja

XLDnaute Impliqué
Bonjour le forum,
Voila, j'ai un soucis que je n'arrive pas à règler.
Je dois renvoyer des données en face d'un nom dans une liste via un TextBox contenu dans un UserForm
Pour la gestion des erreurs, au cas où le nom n'existerait pas dans la liste, j'ai saisi le code suivant :
'déclaration des variables
Dim Nom As String
Dim NFeuil As String

Nom = TextBox2.Value
NFeuil = TextBox1.Value

'boucle
For N = 3 To 50

If Nom <> Sheets(NFeuil).Range("E" & N).Value Then
MsgBox "Ce NOM n'existe pas !!", vbCritical, "ERREUR !!"
With TextBox2
.Value = ""
.SetFocus
End With
Exit Sub
End If
Next N

Le problème est qu'il me renvoie toujours le message d'erreur même quand le nom se trouve bien dans la plage E3:E50. Je ne vois pas ce qui ne va pas car j'ai déjà utilisé ce code pour repérer les doublons (avec = à la place de <>) et ça marche.
Merci d'avance
 

tototiti2008

XLDnaute Barbatruc
Re : Blocage sur VBA

Bonjour meldja,

essaye de remplacer

Code:
For N = 3 To 50

If Nom <> Sheets(NFeuil).Range("E" & N).Value Then
MsgBox "Ce NOM n'existe pas !!", vbCritical, "ERREUR !!"
With TextBox2
.Value = ""
.SetFocus
End With
Exit Sub
End If
Next N

par

Code:
BoolErr=True
For N = 3 To 50

If Nom = Sheets(NFeuil).Range("E" & N).Value Then
BoolErr = False
Exit For
End If
Next N
if BoolErr then
MsgBox "Ce NOM n'existe pas !!", vbCritical, "ERREUR !!"
With TextBox2
.Value = ""
.SetFocus
End With
Exit Sub
end if
 

Discussions similaires

Statistiques des forums

Discussions
312 198
Messages
2 086 149
Membres
103 133
dernier inscrit
mtq