Bonjour à tous,
mon problème vient de la mise en place d'un masque de saisie sur une textbox dans un formulaire excel.
La valeur sasie dans la texte box doit correspondre à un numéro de lot de 12 caractères (longueur indiqué dans les propriétés de la textbox), et doit avoir un format de type L14085A 1233. Le "L" est une lettre fixe, 14 correspond au quantième de l'année, 085 au n° du jour juliende production, la lettre A correspond à un n° d'ordre (A-> premier lot produit ce jour-là), puis un espace, puis l'heure (hhmm) de production.
A la fin de la saisie du n° de lot dans la textbox, j'aimerai effectuer le contrôle de la saisie.
J'ai donc créer une macro (code ci-dessous).
C'est avec cette macro que j'ai des problèmes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Private Sub zt_num_lot_debut_Exit(ByVal Cancel As MSForms.ReturnBoolean) Dim Heure As Variant Dim Min As Variant Heure = Mid(zt_num_lot_debut.Text, 9, 2) Min = Right(zt_num_lot_debut.Text, 2) If (Not zt_num_lot_debut.Text Like "L#####[A-Z] [0-2][0-9][0-5][0-9]" And Not Heure <= 23 And Not Min <= 59) Then MsgBox "Le n° saisi est incorrect!" End If Controls("zt_num_lot_debut").SetFocus End Sub
Les contrôles sur l'heure et les minutes ne se réalisent pas : je peux rentrer des valeurs comme 2869 pour l'heure sans qu'un message d'erreur apparaisse!!!
Si quelqu'un de plus expérimenté que moi peux jeter un oeil à ce problème, je lui en serai très reconnaissant.
Si j'ai oubliè des informations, dites-moi, et je les ajouterai le plus vite possible.
Cordialement,
Guillaume846
Partager