Bonjour à tous,
Je me retrouve face à un problème concernant une textbox dans un userform.
Le UserForm sert d'outil de saisie sur une feuille Excel (nom, prénom, etc et surtout une date) et en validant les infos saisies dans les textbox ou combobox sont copiées dans les cellules.
Voulant contrôler la forme de la date à saisir j'ai utilisé le code suivant :
Mais le souci est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Private Sub TextBox3_Change() TextBox3.MaxLength = 10 'nb caractères maxi autorisé dans le textbox Valeur = Len(TextBox3) If Valeur = 2 Or Valeur = 5 Then TextBox3 = TextBox3 & "/" End Sub
Lorsque je valide la saisie et que la valeur de ce textbox va dans la cellule les jours et les mois sont inversé si les 2 premiers caractères (les jours donc) sont inférieurs aux caractères 3 & 4 (les mois).
Si la saisie est 01022010 (donc mis en forme 01/02/2010) la valeur de la cellule est 02/01/2010
Si la saisie est 11/12/2010 la valeur de la cellule est 12/11/2010
Si la saisie est 12/11/2010 la valeur de la cellule est 11/12/2010
Mais pour 13/12/2010 la valeur est bien recopiée (ou pour 31/12/2010, etc)
Bref c'est la misère ...
J'avais aussi essayé avec un code équivalent qui est le suivant :
Et le problème est identique bien sur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Private Sub TextBox3_Change() Dim Exemple As String Dim ExDate As String Exemple = TextBox3.Value If (Len(Exemple) = 8) Then ExDate = Mid(Exemple, 1, 2) & "/" & Mid(Exemple, 3, 2) & "/" & Mid(Exemple, 5) TextBox3.Value = ExDate End If End Sub
Je ne souhaite pas passer avec un système combinant 3 combobox (il est plus facile de récupérer ainsi la date dans le textbox lorsque que le userform est relancé).
Un contrôle avec une "validation" dans données est possible, mais je préfère que cela se gère au moment de la saisie et non à la validation (et ainsi ne pas laisser le choix à l'utilisateur pour le caractère séparant les JJMMAAAA).
J'avais trouvé en cherchant sur le net un classeur excel très complet sur les masques de saisie mais bien trop compliqué pour mon niveau^^.
Est ce que quelqu'un à déjà rencontré se problème où bien a-t-il une autre solution ?
Je vous remercie par avance de votre aide.
Cdt,
Metil
Partager