Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
915
Réponses
10
Affichages
665
Réponses
2
Affichages
411
Retour