BONJOUR FORUM
je veux mettre une contrainte sur un textBox , le code du contrainte se fonctionne parfaitement si je le mets dans un bouton mais non plus si il est directement dans le textBox !! moi j'ai pas besoin d'un bouton en plus ! je veux executer le code directement sur le textbox
j'explique :
dans mon UserFormCreation je veux mettre le code ci dissous dans le TextBoxLog :
Dim cell As Range, cell1 As Range
Dim no_ligne As Integer, i As Integer
Dim rôles_login_tracés As String, séparateur As String, rôles_login() As String
Dim ctrl As Control
With tracing_logins
Set cell = .ListColumns("Login Windows").Range.Find(Me.TextBoxLog.Value)
If cell Is Nothing Then MsgBox "Utilisateur n'existe pas ": Exit Sub
'// remplissage contrôles du formulaire
login_saisi = Me.TextBoxLog.Value
no_ligne = cell.Row - .HeaderRowRange.Row
' MsgBox "Utilisateur existe , a dèja un compte "
MsgBox ("Utilisateur existe dans la base")
Unload Me
'// récupération des rôles du login saisi
séparateur = Empty
Set cell1 = cell
Do
i = cell.Row - .HeaderRowRange.Row
rôles_login_tracés = rôles_login_tracés & séparateur & .ListColumns("Poste/roles").DataBodyRange.Rows(i)
séparateur = Chr(13) & Chr(10)
Set cell = .ListColumns("Login Windows").Range.FindNext(cell)
Loop Until cell.Address = cell1.Address
rôles_login = Split(rôles_login_tracés, séparateur)
UserFormRech.ListBox1.List = rôles_login
End With
'// Désactivation des contrôles
For Each ctrl In Me.Controls
If TypeOf ctrl Is MSForms.TextBox Or TypeOf ctrl Is MSForms.ComboBox Then ctrl.Enabled = False
Next ctrl
Me.TextBoxLog.Enabled = True
le problème est : à chaque saisie d'une lettre dans ce TextBoxLog le message s'affiche , moi je veux que à la fin de la saisie et si on se déplace dans le champs suivant le m'essage s'affiche !!!
remarque :
je test le code dans un bouton "OK" et tout va bien ! mais comme j'ai dit j'ai pas besoin d'un bouton en plus
voici le fichier pour mieux comprendre :
merci d'avance