Programme avec l'objet date

Signaler
Messages postés
52
Date d'inscription
lundi 2 février 2009
Statut
Membre
Dernière intervention
24 juillet 2013
-
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
-
bonjour
salut on m'a donné de réaliser un pgm qui calcule le nbr de jour
ouvrable on vous donne la date début puis la date fin et puis vous
donnez le nbr de jour entre les deux dates sans samedi et dimanche

Le plus simple à programmer, ce serait de faire une boucle qui parcourt
tous les jours du début à la fin, et qui incrémente un compteur quand
le jour n'est ni un samedi ni un dimanche.

voici mon pgm





Private Sub Command1_Click()

Dim date1 As Date

Dim date2 As Date

Dim i As Date

Dim c As Long

date1 = CDate(Text1.Text)

date2 = CDate(Text2.Text)

If date1 < date2 Then

MsgBox "la date de début est supérieur à la date de fin"

Else

c = 0

For i = date1 To date2

If (Weekday(i) <> 7) And (Weekday(i) <> 6) Then

c = c + 1

End If

Next

Text3.Text = c

End If

End Sub


le pbm c'est qu'il m'affche 0 comme résultat
j'attends vos réponses

4 réponses

Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
6
Bonjour,

1) Date n'est pas un objet !!! (ton titre), mais une fonction
2) ta boucle ===>> i ne peut être une date (il te faut calculer avec I en long et non en date)

Exemple :



Dim date1 As Date
Dim date2 As Date
Dim i As Long
Dim c As Long
date1 = CDate("01/01/2001")
date2 = CDate("01/01/2000")
If date1 < date2 Then
   MsgBox "la date de début est supérieur à la date de fin"
Else
   c = 0
   For i = 0 To date1 - date2
      If (WeekDay(date2 + i) <> 7) And (WeekDay(date2 + i) <> 6) Then
         c = c + 1
      End If
   Next
   MsgBox c
End If




 
Messages postés
52
Date d'inscription
lundi 2 février 2009
Statut
Membre
Dernière intervention
24 juillet 2013

re,
ça marche pas ton truc ça m'affiche toujours  0 comme résultat
Messages postés
52
Date d'inscription
lundi 2 février 2009
Statut
Membre
Dernière intervention
24 juillet 2013

re,
 pour date1-date2 on ne peut pas faire directement il ya une fct predéfini datediff qui fait le calcule
mais je ne sais pas coment l'utiliser
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
6
"pour date1-date2 on ne peut pas faire directement "



Ah bon !

Tu es certain de développer sous VB6, toi ?


date1 = CDate("01/01/2001")
date2 = CDate("01/01/2000")



MsgBox date1 - date2


Chez moi, çà marche

Pour ton info : les opérations sur les dates peuivent se fairte directement sous VB, lorsque l'on calcule des jours ...
Tu as surement mal recopié le code ...!