Textbox date comprise entre ....
sysywa
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaite dans un textbox où l'on saisit une date faire en sorte que celle-ci soit comprise entre le 1er janvier 2013 et le 31 décembre 2026.
J'ai écrit ceci qui ne fonctionne pas :
Private Sub TextBox51_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsDate(TextBox51) Then
If MsgBox("date de demande non valide", vbOKOnly, "Veuillez ressaisir ce champs") = vbOK Then
TextBox51 = ""
Me.TextBox51.SetFocus
End If
End If
TextBox51.Value = Format(TextBox51, "dd/mm/yyyy")
If CDate(TextBox51) > CDate("01/01/2013") And CDate(TextBox51) > CDate("31/12/2026") Then
If MsgBox("date de demande non valide", vbOKOnly, "Veuillez ressaisir ce champs") = vbOK Then
TextBox51 = ""
Me.TextBox51.SetFocus
End If
End If
End Sub
Merci par avance pour votre aide ...
Je souhaite dans un textbox où l'on saisit une date faire en sorte que celle-ci soit comprise entre le 1er janvier 2013 et le 31 décembre 2026.
J'ai écrit ceci qui ne fonctionne pas :
Private Sub TextBox51_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsDate(TextBox51) Then
If MsgBox("date de demande non valide", vbOKOnly, "Veuillez ressaisir ce champs") = vbOK Then
TextBox51 = ""
Me.TextBox51.SetFocus
End If
End If
TextBox51.Value = Format(TextBox51, "dd/mm/yyyy")
If CDate(TextBox51) > CDate("01/01/2013") And CDate(TextBox51) > CDate("31/12/2026") Then
If MsgBox("date de demande non valide", vbOKOnly, "Veuillez ressaisir ce champs") = vbOK Then
TextBox51 = ""
Me.TextBox51.SetFocus
End If
End If
End Sub
Merci par avance pour votre aide ...
A voir également:
- Textbox date comprise entre ....
- Nombre de jours entre deux dates excel - Guide
- Excel si date comprise entre ✓ - Forum Excel
- Publipostage date inversée ✓ - Forum Word
- Faites afficher avec un fond coloré les cellules qui contiennent une valeur comprise entre 250 et 350. - Forum VB / VBA
- Mise en forme conditionnelle "compris entre" ✓ - Forum Excel
2 réponses
Bonjour,
A+
Private Sub TextBox51_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If IsDate(TextBox51) Then
If CDate(TextBox51) < CDate("01/01/2013") Or CDate(TextBox51) > CDate("31/12/2026") Then
If MsgBox("La saisie ne correspond pas à une date valide." & Chr(10) & _
"(Période autorisée : du 01/01/2013 au 31/12/2026)" & Chr(10) & Chr(10) & _
"Veuillez ressaisir ce champ.", vbOKOnly, "ERREUR DE SAISIE") = vbOK Then
TextBox51 = ""
Me.TextBox51.SetFocus
End If
Else
TextBox51.Value = Format(TextBox51, "dd/mm/yyyy")
End If
Else
If MsgBox("La valeur saisie doit correspondre à une date." & Chr(10) & "Veuillez ressaisir ce champ.", vbOKOnly, "ERREUR DE SAISIE") = vbOK Then
TextBox51 = ""
Me.TextBox51.SetFocus
End If
End If
End Sub
A+
Bonjour a vous tous,
Formatage date (ex:01/01/2016) pas besoin de mettre les "/" et control temps reel de la saisie
Formatage date (ex:01/01/2016) pas besoin de mettre les "/" et control temps reel de la saisie
'control date Private Sub TextBox51_Change() If Len(TextBox51) = 10 Then If (CDate(TextBox51) < CDate("01/01/2013") Or CDate(TextBox51) > CDate("01/12/2026")) Then MsgBox "date de demande non valide", vbOKOnly, "Veuillez ressaisir ce champs" TextBox51 = "" Me.TextBox51.SetFocus End If End If End Sub 'control entree avec format date Private Sub Textbox51_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) TextBox51.MaxLength = 10 Select Case KeyAscii Case 46, 48 To 57 ' 01/04/2016 VT = Len(TextBox51) If VT = 2 Or VT = 5 Then TextBox51 = TextBox51 & "/" Case Else KeyAscii = 0 MsgBox "Only numbers allowed" End Select End Sub
C'est ceci qui ne fonctionne pas :
If CDate(TextBox51) < CDate("01/01/2013") Or CDate(TextBox51) > CDate("31/12/2026")
Mais "Gentil n'a qu'un œil !"
A+
Je réitère donc ma question. J'ai dû mal m'exprimer ^_^ ...
Qu'est ce qui ne va pas dans :
If CDate(TextBox51) < CDate("01/01/2013") Or CDate(TextBox51) > CDate("31/12/2026")
car ça ne fonctionne pas.
Je souhaite que les gens qui saisissent le textbox ne puissent pas rentrer de valeur inférieures au 01/01/2013 ou supérieures au 21/12/2026
Suis-je plus claire ?