Récupération de données dans USERFORM
Bonjour à tous,
Je viens de m'apercevoir d'un bug dans une appli que j'aie créée dernièrement.
Je résume les étapes en simplifiant :
1) J'ouvre un USERFORM de saisie
2) J'ai un champ Heure (TxtHeure) sous lequel j'ai le code suivant (contrôle des heures et des minutes ainsi que l'ajout des ":" entre les heures et les minutes) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| Private Sub TxtHeure_Change()
On Error Resume Next
Dim Texte As String
Texte = TxtHeure.Text
Select Case Len(Texte)
Case 2
If CInt(Texte) > 23 Then
MsgBox ("Vous avez saisi des heures supérieures à 23")
Texte = ""
Else
Texte = Texte & ":"
End If
Case 5
If CInt(Right(Texte, 2)) > 59 Then
MsgBox ("Vous avez saisi des minutes supérieures à 59")
Texte = ""
End If
End Select
TxtHeure.Text = Texte
On Error GoTo 0
End Sub |
3) Je saisi la suite des autres champs
4) Je clique sur le bouton "Valider" pour enregistrer mes données sous un onglet spécifique.
5) Mon code pour écrire le champ TxtHeure :
Code:
1 2 3 4
| Sheets("Données").Activate
...
Range("D" & num).Value = TxtHeure.Value
... |
Jusque là, tout va bien
6) J'ai un second USERFORM (identique au premier) qui me permet de rappeler mes données si j'ai des modifs à effectuer.
7) A l'initialisation, le champ TxtHeure prend bien la valeur saisie à l'origine par le code suivant :
Code:
1 2 3 4
| Private Sub UserForm_Initialize()
...
TxtHeure.Value = ValidHeure 'ValidHeure est récupéré de la manière suivante dans un formulaire de choix ==> ValidHeure = Format(Sh.Range("D" & .List(.ListIndex, 4)), "hh:mm")
... |
MON PROBLEME
Si je veux modifier l'heure, mes contrôles ne fonctionnent plus sur ce champ !
Les ":" ne s'affichent plus non plus.
Pourtant mes contrôles ont bien été copiés dans le code de ce 2ème formulaire.
Si quelqu'un a réussi à déchiffrer ma demande, je suis preneur de tous les commentaires.
Merci :ccool: