Accueil > Forum > > > > Calcul jours ouvrés
Calcul jours ouvrés
mercredi 5 mars 2008 à 15:23:37 |
Calcul jours ouvrés

Estelle_BNP
|
Bonjour,
je souhaite créer une fonction sous VBA que je puisse réutiliser dans Excel qui me permet de décaler une date de jj jours, mm mois et/ou yy années et qui m'indique la première date ouvrée qui correspond à cette date décalée.
Est-ce qu'il existe sous Excel ou VBA une fonction qui me permet de savoir si une date est un jour ouvré ou non ? Si oui, quelle est-elle ? Si non, pouvez-vous m'aider à construire une telle fonction ?
Merci pour votre aide ?
|
|
mercredi 5 mars 2008 à 15:38:35 |
Re : Calcul jours ouvrés

vicelow5901
|
essaie sa ;-)
Public Function NbOuvrés&(D1, D2)
Dim Prem As Date, Der As Date, i As Date
If D1 = D2 Then Prem = D1 If TYPEJOUR(Prem) = 0 Then NbOuvrés = 1 Exit Function End If Prem = D1 Der = D2 For i = Prem To Der NbOuvrés = NbOuvrés + (TYPEJOUR(i) = 0) * -1 Next i End Function
'Cette fonction renvoie 0 si le jour passé en paramètre est un jour de semaine, '1 s'il s'agit d'un samedi ou d'un dimanche et 2 s'il s'agit d'un jour férié. 'Valide jusqu'en 2099 et pour les jours fériés français
Public Function TYPEJOUR(D As Date)
'L. Longre Dim A As Integer, t As Integer Dim LP As Date, LD As Long Dim Toto As Long
A = Year(D) If A > 2099 Then TYPEJOUR = 0 Exit Function End If LD = Int(D) If LD <= 2 Then If LD = 1 Then TYPEJOUR = 2 Exit Function End If End If t = (((255 - 11 * (A Mod 19)) - 21) Mod 30) + 21 LP = DateSerial(A, 3, 2) + t + (t > 48) _ + 6 - ((A + A \ 4 + t + (t > 48) + 1) Mod 7) Select Case D ' Jours fériés mobiles Case Is = LP, Is = LP + 38, Is = LP + 49 TYPEJOUR = 2 ' Jours fériés fixes Case Is = DateSerial(A, 1, 1), Is = DateSerial(A, 5, 1), _ Is = DateSerial(A, 5, 8), Is = DateSerial(A, 7, 14), _ Is = DateSerial(A, 8, 15), Is = DateSerial(A, 11, 1), _ Is = DateSerial(A, 11, 11), Is = DateSerial(A, 12, 25) TYPEJOUR = 2 Case Else ' Samedi ou dimanche If Weekday(D, vbMonday) >= 6 Then TYPEJOUR = 1 End If End Select
End Function
' utilistation de la fonction
NbOuvrés& (date_début, date_fin)
|
|
mercredi 5 mars 2008 à 15:41:18 |
Re : Calcul jours ouvrés

vicelow5901
|
petite précision c'est pour calculer le nombre de jours ouvrés entre 2 date otant les les samedi, dimanche et jours férié (fixe ou variable)
|
|
mercredi 5 mars 2008 à 17:37:25 |
Re : Calcul jours ouvrés

Molenn
|
S'il s'agit juste de calculer le nb de jours ouvrés entre deux dates, en enlevant le samedi et les jours fériés, autant utiliser directement la fonction EXCEL (qui n'est pas renseignée dans l'aide, mais qui existe bien) :
NB.JOURS.OUVRES(date_départ;date_fin;plage_jours_fériés)
Par contre, il faut peut être cocher la case Utilitaire d'analyse dans les macros complémentaires pour qu'elle fonctionne, je ne me souviens plus.
Personnellement, je préfère utiliser une fonction que je me suis faite, afin de pouvoir configurer les jours ouvrés (et oui, pour certains, le samedi est considéré ouvré et le lundi chômé par exemple ^^). Mais elle devrait être suffisante pour répondre à ton besoin je pense.
Molenn
|
|
Cette discussion est classée dans : fonction, date, calcul, jours, ouvrés
Répondre à ce message
Sujets en rapport avec ce message
calcul de date [ par katrina ]
Bonjour,je dois générer à partir d'une date de départ et d'un nombre de jours(jours de semaine:lundi au vendredi),une date de fin.Comment puis-je fair
CALCUL DE DATE dans une requete [ par philseg ]
bonjourcomment puis je creer une requete sous access qui me permet de compter le nombre de jours feries en faisant une comparaison entre une table co
calcul du nombre de jours entre 2 date [ par oxram ]
Bonjour je suis à la recherche de 2 fonctions une me calculant la différence de jours entre 2 dates et l'autre me calculant directement le nombre de s
différence entre 2 date [ par arbomont ]
Je cherche la fonction permettant de faire la difference des jours qu'il y a entre 2 date.exemple : 10/11/2004 - 15/12/2004 = 35 joursJe connais la fo
Encore un problène avec un calcul de date... [ par Momone21 ]
Bonjour, Je cherche une fonction ou un code qui me permettrait de savoir le nombre de jours qu'il reste avant le prochain anniversaire de q
calcul de jours entre deux date [ par mell01 ]
bonjours,qql saurait-il calculé le nb de jour entre deux dates, soit avec une fction sql ou une fonction vba?merci d'avance
Calcul du quantième d'une date [ par Pinzut77 ]
Bonjour, Après quelques recherche sur google je n'ai pas trouvé de fonction pour calculer le quantième d'une date (enfin si j'en ai trouvé mais elles
calendrier, jours ouvrés, temps de passage [ par ork2lAisne ]
Bonjour, complétement novice, je tatonne en vb j'ai besoin d'un coup de main! je vous explique : je veux faire sous excel un petit programme qui me pe
Calcul jour ouvre [ par myphilvba ]
BonjourJe souhaite développer en VBA une fonction me permettant de déterminer la date du 30 eme jour ouvré (samedi compris) précédent une date donnée.
calcul sur dates [ par ermorazor ]
Bonjour, j'aurais aimé savoir comment faire pour comparer une date avec une autre date afin d'avoir un écart en nombre de jours. par exemple (10/0
Livres en rapport
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|