Pb comparaison de dates entre 2 textbox d'une form

Pb comparaison de dates entre 2 textbox d'une form - VB/VBA/VBS - Programmation

Marsh Posté le 01-06-2006 à 23:32:43    

il s'agit d'un développement VBA 6.3 (excel 2002)
 
A l'aide d'un formulaire, je recherche à partir d'un numéro de fiche une ligne de données. Lorsque celle-ci a été trouvée, le formulaire charge et affiche les renseignements (Range) existants. Parmi ceux-ci, je récupère une date de sortie dans un textbox.
Ensuite, j'affecte une date d'entrée à l'aide d'un calendar dans un textbox du même formulaire. Un CmdValider permet de mettre à jour le Range de cette ligne.
Je souhaite contrôler que la date de rentrée est > à la date de sortie
Toutefois le contrôle suivant me dit systématiquement que datent est < à datsor
if textbox_datent.value < textbox_datsor.value then msgbox ...
ou if calendar.value < textbox_datsor then msgbox ...
Dans la fenêtre variables locales textbox_datsor et textbox_datent sont = à "xx/xx/xxxx" alors que calendar est = à #xx/xx/xxxx#
Je suppose qu'il est donc impossible de comparer des dates à partir de textbox puisqu'il s'agit de value variant/string alors que calendar est en variant/date.
Après recherche je n'ai trouvé aucune piste.
 
Merci de votre aide, je ne suis pas un pro
 


Message édité par foot49 le 02-06-2006 à 00:18:07
Reply

Marsh Posté le 01-06-2006 à 23:32:43   

Reply

Marsh Posté le 02-06-2006 à 09:54:18    

tu peus tres bien le faire, j'y suis arriver moi avec beaucoup de recherche :) mais je vais t"éguyer ;)
j'ai 2 textbox dans un formulaire de type Date, réduit  
leurs nom = txtRechDate et txtRechDate2
j'ai une table possédant un champ Date de type date ( normal lol )
et mon formulaire propose donc de faire un tri par date et j'ai utiliser cette requete dans mon VBA :  
 
SELECT ....  Where Table!Date BETWEEN #" & Format(Me.txtRechDate, "mm/dd/yyyy" ) & "# AND #" & Format(Me.txtRechDate2, "mm/dd/yyyy" ) & "# )
 
Ca permet de forcer la valeur de ta txtbox en format : mm/jj/aaaa  
j'espere que ca va t'aider :)

Reply

Marsh Posté le 02-06-2006 à 23:47:21    

RavenShadoW1 a écrit :

tu peus tres bien le faire, j'y suis arriver moi avec beaucoup de recherche :) mais je vais t"éguyer ;)
j'ai 2 textbox dans un formulaire de type Date, réduit  
leurs nom = txtRechDate et txtRechDate2
j'ai une table possédant un champ Date de type date ( normal lol )
et mon formulaire propose donc de faire un tri par date et j'ai utiliser cette requete dans mon VBA :  
 
SELECT ....  Where Table!Date BETWEEN #" & Format(Me.txtRechDate, "mm/dd/yyyy" ) & "# AND #" & Format(Me.txtRechDate2, "mm/dd/yyyy" ) & "# )
 
Ca permet de forcer la valeur de ta txtbox en format : mm/jj/aaaa  
j'espere que ca va t'aider :)


 
 
Merci pour ta proposition
Je vais toutefois donner un complément d'informations.
j'appelle le formulaire, je saisi un n° de fiche et CmdOk
une boucle Do while cherche la ligne correspondante au n° de fiche qui ne comporte pas de datent mis à jour car les fiches avec le même n° ont pour vocation de sortir et de rentrer à volonté. cette ligne comporte donc déjà le champ datsor qui est rempli et le champ datent qui lui est vide. Ce champ est rempli après le contrôle évoqué précédemment.
 
Un select where va extraire une ou plusieurs rows d'une table mais n'effectuera pas un update (principe du sql)
 
Je viens de tester
 
if calendar.value < range("Toto" ).value then msgbox (ça marche. Toto est un range contenant une date)
On peut donc appliquer à --> if calendar.value < activecell.offset(x,x).value then msgbox (ça marche aussi) j'ai résolu mon problème.

Dommage qu'on ne puisse pas tester directement 2 textbox
 
A+

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed