Bonjour,
Dans un formulaire, on doit saisir plusieurs dates.
Pour ce faire, j'utilise le code suivant :
puis pour retour sur la feuille excel, dans la procédure de validation (bouton Ok) :
il reste à gérer les erreurs de saisie de type jour supérieur à 31 et mois supérieur à 12 ; j'ai donc mis une gestion d'erreur, toujours dans la procédure de validation de type
Cela fonctionne pour les jours supérieurs à 31, mais pour les mois, si je saisie 01/13/2014, je n'ai pas de message d'erreur et dans le tableur, j'ai 13/01/2014 ---- HOREUR ! :calim2:
Quelqu'un peut-il m'aider svp.
Merci
Dans un formulaire, on doit saisir plusieurs dates.
Pour ce faire, j'utilise le code suivant :
Code:
1
2
3
4
5
6
7
8
9
10
11
Private Sub TbxPeriod1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'On accepte les chiffres et / Ou bien, si on tappe un double // dans la chaîne, elle est refusée.
If InStr("0123456789/", Chr(KeyAscii)) = 0 Or InStr(TbxPeriod1.Value, "//") Then KeyAscii = 0: Beep: _
MsgBox "Saisie incorrect, recommencez, SVP.", vbExclamation, "ERREUR"
TbxPeriod1.SetFocus
Dim Valeur As Byte
TbxPeriod1.MaxLength = 10 'nb caractères maxi autorisé dans le textbox
Valeur = Len(TbxPeriod1)
If Valeur = 2 Or Valeur = 5 Then TbxPeriod1 = TbxPeriod1 & "/"
TbxPeriod1.AutoTab = True 'tabulation automatique
End Sub
Code:
Range("C6") = CDate(TbxPeriod1.Value)Code:
1
2
3
4
5
6
7
8
On Error GoTo ErrorGestion 'Gestion des erreurs notamment saisie d'un mois >12
Range("C6") = CDate(TbxPeriod1.Value)
...
Unload Me
Exit Sub
ErrorGestion:
MsgBox "Erreur de saisie incohérente" & Chr(10) & Chr(10) & " Vérifier les dates ?", vbCritical, "ERREUR"
End Sub
Quelqu'un peut-il m'aider svp.
Merci
Aucun commentaire:
Enregistrer un commentaire