OVH Cloud OVH Cloud

Avant aujourd'hui

4 réponses
Avatar
Denys
Bonjour =E0 tous,

Je voudrais v=E9rifier que la combinaison de 3 combobox dont=20
la r=E9sultante est une date, ne soit pas ant=E9rieure =E0 celle=20
d'aujourd'hui...=20


If IsDate(Me.ComboBox5.Value & " / " & ComboBox6.Value=20
& " / " & ComboBox7.Value) < Date Then
msg =3D "Launch date cannot be prior to actual date"
dialogstyle =3D vbOKOnly + vbCritical
Title =3D "Invalid data"
reponse =3D MsgBox(msg, dialogstyle,=20
Title)
Cancel =3D True
ComboBox5.Value =3D ""
ComboBox6.Value =3D ""
ComboBox7.Value =3D ""
Beep
ComboBox5.SetFocus
Exit Sub
End If

Donc, si le r=E9sultat de ces 3 combobox est une date avant=20
celle d'aujourd'hui, le message doit =EAtre lanc=E9.

Qu'est-ce qui ne fonctionne pas dans le code ci-haut?

Merci...

Denys

4 réponses

Avatar
Pierre CFI [mvp]
bonjour
Isdate te retourne True ou False donc pour la comparaison ??? essaie plutot dateserial ou Cdate

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Denys" a écrit dans le message de news:19e7801c44e25$07ca6e40$
Bonjour à tous,

Je voudrais vérifier que la combinaison de 3 combobox dont
la résultante est une date, ne soit pas antérieure à celle
d'aujourd'hui...


If IsDate(Me.ComboBox5.Value & " / " & ComboBox6.Value
& " / " & ComboBox7.Value) < Date Then
msg = "Launch date cannot be prior to actual date"
dialogstyle = vbOKOnly + vbCritical
Title = "Invalid data"
reponse = MsgBox(msg, dialogstyle,
Title)
Cancel = True
ComboBox5.Value = ""
ComboBox6.Value = ""
ComboBox7.Value = ""
Beep
ComboBox5.SetFocus
Exit Sub
End If

Donc, si le résultat de ces 3 combobox est une date avant
celle d'aujourd'hui, le message doit être lancé.

Qu'est-ce qui ne fonctionne pas dans le code ci-haut?

Merci...

Denys
Avatar
papou
Bonjour Denys
If IsDate(Me.ComboBox5.Value & " / " & ComboBox6.Value & " / " &
ComboBox7.Value) < Date

C'est là que se trouve ton problème, tu peux modifier ainsi :
If CDate(Me.ComboBox5.Value & " / " & ComboBox6.Value & " / " &
ComboBox7.Value) < Date Then
Ceci étant, il n'y a pas de contrôle sur la validité de la date ainsi créée
donc personnellement je modifierai ainsi :
LaDate = Me.ComboBox5.Value & " / " & ComboBox6.Value & " / " &
ComboBox7.Value
If IsDate(CDate(LaDate)) Then
If CDate(LaDate) < Date Then
'etc....
End If
End If

Cordialement
Pascal



"Denys" a écrit dans le message de
news:19e7801c44e25$07ca6e40$
Bonjour à tous,

Je voudrais vérifier que la combinaison de 3 combobox dont
la résultante est une date, ne soit pas antérieure à celle
d'aujourd'hui...


If IsDate(Me.ComboBox5.Value & " / " & ComboBox6.Value
& " / " & ComboBox7.Value) < Date Then
msg = "Launch date cannot be prior to actual date"
dialogstyle = vbOKOnly + vbCritical
Title = "Invalid data"
reponse = MsgBox(msg, dialogstyle,
Title)
Cancel = True
ComboBox5.Value = ""
ComboBox6.Value = ""
ComboBox7.Value = ""
Beep
ComboBox5.SetFocus
Exit Sub
End If

Donc, si le résultat de ces 3 combobox est une date avant
celle d'aujourd'hui, le message doit être lancé.

Qu'est-ce qui ne fonctionne pas dans le code ci-haut?

Merci...

Denys

Avatar
Clément Marcotte
Bonjour,

Que dirais-tu d'un petit coup de DateSerial()

J'ai remplacé les Comboboxes par des TextBoxes, et j'ai ajouté un
"Go", mais pour le reste c'est presque ta procédure en anglais.



Private Sub CommandButton1_Click()
Dim msg As String, dialogstyle As Integer
Dim title As String, reponse As Integer, cancel As Boolean
If DateSerial(TextBox3.Value, TextBox2.Value, TextBox1.Value) < Date
Then
msg = "Launch date cannot be prior to actual date"
dialogstyle = vbOKOnly + vbCritical
title = "Invalid data"
reponse = MsgBox(msg, dialogstyle, _
title)
cancel = True
TextBox1.Value = ""
TextBox2.Value = ""
TextBox3.Value = ""
'ComboBox5.Value = ""
' ComboBox6.Value = ""
' ComboBox7.Value = ""
Beep
' ComboBox5.SetFocus
TextBox1.SetFocus
Exit Sub
Else
MsgBox "Go"

End If

End Sub

"Denys" a écrit dans le message
de news:19e7801c44e25$07ca6e40$
Bonjour à tous,

Je voudrais vérifier que la combinaison de 3 combobox dont
la résultante est une date, ne soit pas antérieure à celle
d'aujourd'hui...


If IsDate(Me.ComboBox5.Value & " / " & ComboBox6.Value
& " / " & ComboBox7.Value) < Date Then
msg = "Launch date cannot be prior to actual date"
dialogstyle = vbOKOnly + vbCritical
Title = "Invalid data"
reponse = MsgBox(msg, dialogstyle,
Title)
Cancel = True
ComboBox5.Value = ""
ComboBox6.Value = ""
ComboBox7.Value = ""
Beep
ComboBox5.SetFocus
Exit Sub
End If

Donc, si le résultat de ces 3 combobox est une date avant
celle d'aujourd'hui, le message doit être lancé.

Qu'est-ce qui ne fonctionne pas dans le code ci-haut?

Merci...

Denys
Avatar
Denys
Bonjour Pierre, Papou & Clément,

Merci beaucoup. Pierre me suggère CDate ou DateSerial, et
Papou et Clément me donne un exemple de chaque !!!!

Que demander de mieux ???

Merci infiniment pour votre temps...

Bonne journée

Denys



-----Original Message-----
Bonjour à tous,

Je voudrais vérifier que la combinaison de 3 combobox
dont

la résultante est une date, ne soit pas antérieure à
celle

d'aujourd'hui...


If IsDate(Me.ComboBox5.Value & " / " & ComboBox6.Value
& " / " & ComboBox7.Value) < Date Then
msg = "Launch date cannot be prior to actual date"
dialogstyle = vbOKOnly + vbCritical
Title = "Invalid data"
reponse = MsgBox(msg, dialogstyle,
Title)
Cancel = True
ComboBox5.Value = ""
ComboBox6.Value = ""
ComboBox7.Value = ""
Beep
ComboBox5.SetFocus
Exit Sub
End If

Donc, si le résultat de ces 3 combobox est une date avant
celle d'aujourd'hui, le message doit être lancé.

Qu'est-ce qui ne fonctionne pas dans le code ci-haut?

Merci...

Denys
.