controle de date dans un textbox

  • Initiateur de la discussion latige
  • Date de début
L

latige

Guest
Bonjour,
Je souhaite verifier si la date saisie dans le textbox d'un userform est bien comprise entre le 01/01/1990 et le 01/01/2006.

Je voudrais contrer aussi des dates non conformes :

ex: le 36/36/2004 ou 1./08/2004

merci de votre aide.

La tige
 
M

MALLORY

Guest
Bonour le forum,

J'aurai la meme demande sauf que j'ai a controler des mesures et des departements!
Il faudrai que les mesures soit comprises entre 1000 et 4045. Pour les département évidemment de 01 a 99!

S'il vous plait aidez moi !

Au passage, Bonjour Latige, j'espère que tu te sortiras de ton petit soucis mais en attendant qu'une ame charitable t'aide, tu devrais relire ou lire la chartre du forum !

Merci a tous !
 
M

MALLORY

Guest
Bonjour le forum et latige,

Voila, je tente une solution.
Elle n'a pas valeur d'évangile car je ne suis encore qu'un débutant mais cela vaut la peine d'essayer et de me dire si ca marche!

Alors voila, convertit la saisie de ton TextBox en date par la commande

Textbox1.Value=CDate(TextBox1.Value)

Et tu fais un petit controle

If Not IsDate(TextBox1.Value) Then
MsgBox "Y a pas Bon"
Exit Sub
End If

Mallory
 
@

@+Thierry

Guest
Bonjour Latige, Mallory, le Forum

Pour Latige, on peut faire comme ceci :

Option Explicit

Private Sub CommandButton1_Click()
With Me.TextBox1
If IsDate(.Value) Then

If CDate(.Value) >= 32874 And CDate(.Value) <= 38718 Then
MsgBox "C'est Bon"
Else
MsgBox "La Date " & Format(.Value, "DD/MM/YYYY") & " est hors fourchette"
End If
Else
MsgBox "Veuillez Saisirune Date car " & .Text & " n'est pas une date !"
End If
End With
End Sub


Pour toi Mallory, c'est un peu tordu, mais j'ai plus le temps !! lol
Option Explicit

Private Sub CommandButton1_Click()
Dim TheValue As Double
With Me.TextBox1
If IsNumeric(.Value) Then
TheValue = .Value
If Not Round(TheValue, 0) <> TheValue Then
If TheValue >= 1000 And TheValue <= 4045 Then
MsgBox "C'est Bon"
Else
MsgBox "La valeur " & TheValue & " est hors fourchette"
End If
Else
MsgBox "Veuillez Saisir un Entier ! et pas " & Format(TheValue, "####.#0")
End If
Else
MsgBox "Veuillez Saisir une Valeur numérique car " & .Text & " n'est pas une date !"
End If
End With
Exit Sub
End Sub

Bon Appétit
@+Thierry
 
M

MALLORY

Guest
Bonjour le forum, Latige, @+tierry,

Merci beaucoup thierry pour ton aide, ca fonctionne du tonnerre !

C'est déconcertant de voir comme c'est logique une fois qu'on a la solution!

Par contre pour y arriver seul y'a du boulot! alors merci a toi de prendre le temps de nous aider!

Latige, je prend aussi le merci pour moi mais le "ca marche a merveille" le laisse a qui de droit car de toute evidence, ma solution était loin d'etre valable!

Mallory
 

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz