cs_DUMEDO
Messages postés19Date d'inscriptionmardi 21 juin 2005StatutMembreDernière intervention 9 septembre 2009
-
14 août 2007 à 17:20
cs_DUMEDO
Messages postés19Date d'inscriptionmardi 21 juin 2005StatutMembreDernière intervention 9 septembre 2009
-
17 août 2007 à 12:44
Bonjour
j'ai trouver la fonction pour calculer des jours ouvrables mais je ne sais comment utiliser cette fonction dans VB4.
Pouvez vous m'aider, merci d'avance.
Je voudrais juste avec deux date de saisie calculer le nbre de jours ouvrables..
merci d'avance
dumedo
"la voici"
Private Function Nb_Jours_Ouvrables(Date_début As Date, Date_fin As Date) As Single
'**********************************
'Code par Belegaer
[mailto:'belegaer@caramail.com 'belegaer@caramail.com]
'Merci de gardez mes références sur ce codes
'**********************************
Static Temp As Double
'Les valeurs de date notées en dur dans le code doivent êtres au format amériquain
'Fonction qui donne la durée en jours ouvrables entre deux dates
'Test de validité des dates
If IsNull(Date_début) Or IsNull(Date_fin) Then
Nb_Jours_Ouvrables = 0
Exit Function
ElseIf Not IsDate(Date_début) Or Not IsDate(Date_fin) Then
Nb_Jours_Ouvrables = 0
Exit Function
ElseIf Date_début > Date_fin Then
Nb_Jours_Ouvrables = 0
Exit Function
End If
'Convertion des dates en valeurs numériques (Double) format de date interne de la machine
Dim dblDate_Début As Double
Dim dblDate_Fin As Double
dblDate_Début = CDbl(Date_début)
dblDate_Fin = CDbl(Date_fin)
Dim Date_Courante As Date
Dim Var As Integer
Do Until dblDate_Début > dblDate_Fin
Date_Courante = CDate(dblDate_Début)
'Teste pour savoir si le jour courant est ouvrable
If WeekDay(Date_Courante) <> 1 And WeekDay(Date_Courante) <> 7 Then
'Teste des jours fériers avec dates invariables
Select Case Date_Courante
Case CDate("01/01/" & Year(Date)) 'Jour de l'an
Case CDate("01/05/" & Year(Date)) 'Fête du travail
Case CDate("08/05/" & Year(Date)) 'Armistice 1945
Case CDate("14/07/" & Year(Date)) 'Fête nationale
Case CDate("15/08/" & Year(Date)) '15 Aout
Case CDate("01/11/" & Year(Date)) '1er Novembre
Case CDate("11/11/" & Year(Date)) 'Armistice 1918
Case CDate("25/12/" & Year(Date)) 'Jour de noël
Case Else
'Certains jours ferié religieux nécessitent un traitement spéciale
If Date_Catholique(Date_Courante) = False Then
Var = Var + 1
End If
End Select
End If
dblDate_Début = dblDate_Début + 1
Loop
Big200148
Messages postés149Date d'inscriptionmardi 30 septembre 2003StatutMembreDernière intervention23 juillet 2009 14 août 2007 à 17:29
Salut et tout d'abord Chapeau pour encore utiliser VB4
Il n'y a rien de bien compliqué dans l'utilisation de cette fonction. Elle est en private donc tu ne peut l'utiliser que dans le module où tu l'a écrite. Après tu lui passe simplement 2 date en paramètre et voila
Mais attention ! Tes noms de contrôle ne sont vraiment pas explicites !!!
tu devrais employer la méthode généralement admise comme optimale, consistant à préfixer le nom des controle par 3 lettres rappelant leur type, et le reste indiquant la donnée qui y est stocké ! On évitera les Date1, Date2, etc ... qui ne veulent pas dirent grand chose : Préfère DateDebut et DateFin. Comme ce sont des chps textboxes, on les préfixe avec 'txt'. Cela te donnera 'txtDateDebut' et 'txtDateFin'
Ceci n'est qu'un conseil amical au passage !
Kristof_Koder
Messages postés918Date d'inscriptionvendredi 3 août 2007StatutMembreDernière intervention27 octobre 200810 16 août 2007 à 16:42
VB.NET sans hésiter ! Inutile de passer au VB6 maintenant. Même s'il y a encore bcp de gens (comme moi) qui en font, démarrer le vB6 aujourd'hui est ... peu viable. Autant passer au VB.NET.
D'autant plus que VB.NET tu peux avoir la version VB.NET 2005 Express Edition gratuitement et en toute légalité sur le site de M$. VB6, il faudra que tu l'achète, et d'occaz' en plus.
Non vraiment, je pense qu'il faut passer à VB.NET si tu te posees la question entre les deux.
Perso, je code en VB (4/5/6) depuis plus de 10 ans et la, je commence à passer sur VB.NET.
cs_DUMEDO
Messages postés19Date d'inscriptionmardi 21 juin 2005StatutMembreDernière intervention 9 septembre 2009 14 août 2007 à 18:02
bonsoir
merci pour la réponse mais concretement comment faire ?
Dans mon exemple j'ai deux champs de saisie de date (datetext1.text et datetext2.text) et je désire récupérer la différence dans un textbox (texte1.text)
Comment appeler la function ? et réucpérer le résultat dans le controle text1.text..
merci d'avance
dumedo
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_DUMEDO
Messages postés19Date d'inscriptionmardi 21 juin 2005StatutMembreDernière intervention 9 septembre 2009 16 août 2007 à 12:03
Bonjour
merci de ton aide.
Je voudrais migrer mes apllication en vb6. Peux tu me dire quelle version d'access est accessible sous vb6 et quelle version de crystal report.
cs_DUMEDO
Messages postés19Date d'inscriptionmardi 21 juin 2005StatutMembreDernière intervention 9 septembre 2009 16 août 2007 à 16:38
Je suis encore en VB4.
Je me pose la question justement si je migre en vb6 ou vb net.
Par contre, je voudrais migrer mes appli de vb4 vers vb6 ou vb net.
Quel est ton avis ?
Kristof_Koder
Messages postés918Date d'inscriptionvendredi 3 août 2007StatutMembreDernière intervention27 octobre 200810 16 août 2007 à 21:05
Il existe un utilitaire (je crois fourni avec la version Express) qui convertit un code VB6 en B.NET, ou du moins qui fait 90% du boulot à ce que j'ai pu en lire (je ne l'ai pas utilisé personnellement).
Le code VB4 étant assez proche du code VB6 (de mémoire) cela devrait fonctionner à peu près aussi.