Date + jours ouvrés (Networkdays)

rudymagny

XLDnaute Occasionnel
Bonsoir le forum,
Je viens vers vous concernant la fonction networkdays(),
je voudrais utiliser cette fonction afin de définir une date butoire à partie de la date du jour + 70 jours ouvrés et donc définir la date butoire :
11/02/2011 + 20 jours ouvrés = 10/03/2011
et faire cela en VBA.

Je ne sais pas si je m'exprime correctement...

Apremière vue la fonction Networkday permet de définir le nombre de jorus ouvrés entre deux dates mais pour mon utilisation est ce possible ?

Merci d'avance à vous
 

rudymagny

XLDnaute Occasionnel
Re : Date + jours ouvrés (Networkdays)

J'ai essayé mais je pense que je me débrouille mal :

Code:
Dim date_butoire As Date
Dim date_jour As Date

date_jour = TextBox6.Value
nb_jr_ouvre = ComboBox4.Value

    date_butoire = WorkDay(date_jour, nb_jour_ouvre)
    TextBox7.Value = date_butoire
 end sub

...
 

JNP

XLDnaute Barbatruc
Re : Date + jours ouvrés (Networkdays)

Bonsoir RudyMagny :),
La bonne syntaxe serait
Code:
date_butoire = Application.WorksheetFunction.WorkDay(date_jour, nb_jour_ouvre)
Maintenant, avec dates provenant de ComboBox et de TextBox, méfiance :rolleyes:...
Bon courage :cool:
 

rudymagny

XLDnaute Occasionnel
Re : Date + jours ouvrés (Networkdays)

Bonsoir JNP et merci pour ta réponse,

tu as raison sur le attention :

date_jour = Day(Now) & "/" & Month(Now) & "/" & Year(Now)
nb_jr_ouvre = ComboBox4.Value

date_butoire = Format(Application.WorksheetFunction.WorkDay(date_jour, nb_jour_ouvre), dd / mm / yy)

TextBox7.Value = date_butoire

End Sub

et je suis en dépassement de capacité

je cherche
 

ROGER2327

XLDnaute Barbatruc
Re : Date + jours ouvrés (Networkdays)

Bonjour à tous
Chez moi (EXCEL 2003), ceci fonctionne parfaitement, à condition d'intéger la référence au classeur de macros complémentaires ATPVBAEN.XLA :
Code:
TextBox7.Value = CDate(workday(TextBox6.Value, ComboBox4.Value))
L'appel à
Code:
Application.WorksheetFunction.WorkDay(date_jour, nb_jour_ouvre)
échoue car WorkDay n'appartient pas à la classe WorksheetFunction de la bibliothèque Excel.

Il y a donc une énorme différence entre EXCEL 2007/2010 et EXCEL 2003 !
Merci à JNP d'avoir attiré notre attention sur ce problème. Ne disposant pas d'EXCEL 2007, je ne pouvais le savoir. Désormais, par souci de compatibilité, je n'utiliserai plus la référence à ATPVBAEN.XLA.
ROGER2327
#4948


Mercredi 18 Gueules 138 (Nativité de Deibler, prestidigitateur, SQ)
24 Pluviôse An CCXIX
2011-W06-6T00:42:53Z
 

JNP

XLDnaute Barbatruc
Re : Date + jours ouvrés (Networkdays)

Bonjour :),
Assez subtilement, sous 2010
Code:
TextBox7.Value = CDate(workday(TextBox6.Value, ComboBox4.Value))
ne fonctionne pas, même avec ATPVBAEN.XLA activé :confused:...
Par contre, je vous propose, Roger, en pièce jointe la liste des WorkSheetFunction disponible sous 2010 (tiré de l'aide). Il peut effectivement être intéressant de connaître la compatibilité ;).
Bon WE :cool:
 

Pièces jointes

  • Liste WorkSheetFunction 2010.xls
    41 KB · Affichages: 126

rudymagny

XLDnaute Occasionnel
Re : Date + jours ouvrés (Networkdays)

Bonjour à tous et merci beaucoup pour vos réponses..
A chaque version d'excel ses particularités :)

Voici ce qui marche chez moi :
Code:
        date_jour = TextBox6.Value
        nb_jr_ouvre = ComboBox4.Value
        TextBox7.Value = CDate(Application.WorksheetFunction.WorkDay(date_jour, nb_jr_ouvre))

Merci encore
 

Discussions similaires

Réponses
9
Affichages
554

Statistiques des forums

Discussions
312 330
Messages
2 087 344
Membres
103 525
dernier inscrit
gbaipc