P
Paul
Guest
Salut à tous,
je suis face à un petit souci qui me pose bien des problèmes...
Dans une userform me permettant de demander à l'utilisateur la saisie de différentes caractéristiques d'un matériel (code, genre, nom), je possède une textbox dans laquelle l'utilisateur saisie le code du matériel.
Le souci c'est que je ne veux pas que deux éléments est le même code, alors je compare la valeur du code entré avec les codes que j'ai dans ma liste.
Voici mon code :
Private Sub TextBox1_Change()
Dim code_mat As String
Dim L As Integer
code_mat = TextBox1.Value
L = Sheets("Liste matériel").Range("A65536").End(xlUp).Row
If code_mat <> "" Then
For i = 5 To L
If Sheets("Liste matériel").Cells(i, 1).Value = code_mat Then
A = MsgBox("Le code entré a déjà été attribué",
vbOKOnly, "Erreur")
TextBox1.Value = ""
GoTo Fin
End If
Next i
End If
Fin:
End Sub
Comme ce code peut être un entier ou un entier et des lettres, je l'ai déclaré en "String". Le problème vient du fait que le test est effectué dès que l'utilisateur a saisi un caractère de son code.
ex : on veut taper 10 mais 1 existe déjà... le message d'erreur s'affiche alors.
Avez vous une solution ?
Paul
je suis face à un petit souci qui me pose bien des problèmes...
Dans une userform me permettant de demander à l'utilisateur la saisie de différentes caractéristiques d'un matériel (code, genre, nom), je possède une textbox dans laquelle l'utilisateur saisie le code du matériel.
Le souci c'est que je ne veux pas que deux éléments est le même code, alors je compare la valeur du code entré avec les codes que j'ai dans ma liste.
Voici mon code :
Private Sub TextBox1_Change()
Dim code_mat As String
Dim L As Integer
code_mat = TextBox1.Value
L = Sheets("Liste matériel").Range("A65536").End(xlUp).Row
If code_mat <> "" Then
For i = 5 To L
If Sheets("Liste matériel").Cells(i, 1).Value = code_mat Then
A = MsgBox("Le code entré a déjà été attribué",
vbOKOnly, "Erreur")
TextBox1.Value = ""
GoTo Fin
End If
Next i
End If
Fin:
End Sub
Comme ce code peut être un entier ou un entier et des lettres, je l'ai déclaré en "String". Le problème vient du fait que le test est effectué dès que l'utilisateur a saisi un caractère de son code.
ex : on veut taper 10 mais 1 existe déjà... le message d'erreur s'affiche alors.
Avez vous une solution ?
Paul