Alors l'action se fera si le texte dans TextBoxNUMLIM change car :
Private Sub TextBoxNUMLIM_Change()
Si une fois le texte changé le nombre de caractere est différent de 1 alors ce texte est rouge.
If Len (TextBoxNUMLIM) <> 1 Then TextBoxNUMLIM.ForeColor = RGB(255, 0, 0)
Pour moi si c'est encor Gris soit :
Tu ne changes pas le texte et du coup la procedure ne se lance pas
soit : ce que tu as ecrit a 1 seul caratere et la procedure fonctionne
soit : ton "TextBoxNUMLIM" n'est pas exactement le nom de ton objet.
Pour tester clic sur le bord te ta ligne pour marquer un stop dans la procedure et change le texte ensuite a coup de touche [F8] tu vas voir si le texte rouge est bien pris en compte.