Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

d'où vient l'erreur

akmer

XLDnaute Junior
Bonjour,
J'ai ce code derrier le bouton OK d'une userform qui contient 2 textboxdate, et je veux que en cliquant sur ce bouton OK, que le logiciel vérifie d'abord que la date qui apparait dans la 1éer textbodate soit inférieur a la 2ème texboxdate, si ce n'est pas le cas un message d'erreur apparait et quand on clique sur le bouton ok de ce message d'erreur on revienne à la userform pour modifier les dates.
Voici les code que j'ai tapé:

Private Sub CommandButtonOK_Click()
If TextBoxDate1 = "" Or TextBoxDate2 = "" Then
MsgBox "Saisie incomplète !", vbExclamation

Else
If TextBoxDate1 > TextBoxDate2 Then
MsgBox " La date de début est " & vbCr _
& "supérieur à la date de fin !", vbExclamation
Exit Sub

Else
UserForm1.Hide
CommandButtonOK.MousePointer = 11
UserForm10.Show
Application.ScreenUpdating = False

UserForm1.Hide
End If
End If

End Sub

Le problème c'est que si par exemple je tape dans la texboxdate1: 25-05-2008 et dans la texboxdate2:02-06-2008: le message d'erreur apparait alors qu'il ne devrait pas apparaitre étant donné que 25-05-2008 est bien inférieur à 2-06-2008.
Quelqu'un pourrait trouver le problème ou em donner une autre solution pour résoudre ce problème??
Merci 'avance à tous ce qui m'aideront
 

XL_Luc

XLDnaute Occasionnel
Re : d'où vient l'erreur

Le probleme vient du fait que tu compare des chaines de caracteres et non des dates.

Essaye en ajoutant datevalue ça devrait marcher

If datevalue(TextBoxDate1) > datevalue(TextBoxDate2) Then
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re : d'où vient l'erreur

Bonjour

Il faut toujours se rappeler que dans tes textbox il s'agit de texte

Donc il faut convertir

If CDate(TextBoxDate1) > CDate(TextBoxDate2) Then

C'est également valable lorsque tu veux recopier dans une cellule

Exemple Range("A1")=CDate(Textbox1)
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…