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) :
3) Je saisi la suite des autres champs
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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 :
Jusque là, tout va bien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Sheets("Données").Activate ... Range("D" & num).Value = TxtHeure.Value ...
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 :
MON PROBLEME
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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") ...
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![]()
Partager