OVH Cloud OVH Cloud

Jours ouvrés

4 réponses
Avatar
Vincent
Bonjour,

Comment puis-je définir une tâche répétitive comme commençant le 20ème jour
ouvré (ouvré j'insiste) de chaque mois ?

Merci de votre réponse.

Cordialement,

Vincent.

4 réponses

Avatar
Vincent Isoz
Bonsoir

Sans passer par un algorithme VBA je pense que cela ne sera pas possible.

En tout cas, ni les options proposées dans les tâches répétitives ni le fait
de jouer avec un calendrier personnel pour la tâche ne permetteront de faire
cela.

Si De Messemaeker confirme, je regarderai pour vous écrire ce petit code si
le temps me le permet.

Cordialement


Bonjour,

Comment puis-je définir une tâche répétitive comme commençant le 20ème jour
ouvré (ouvré j'insiste) de chaque mois ?

Merci de votre réponse.

Cordialement,

Vincent.


Avatar
Jan De Messemaeker
Bonsoir,

D'abord, on m'appelle généralement Jan, néhites pas...
Je confirme.
Il n'y a pas de solution simple pour arriver à ceci, et un VBA est
effectivemennt encore le plus élégant.

--
Jan De Messemaeker, Microsoft Project Most Valuable Professional
http://users.online.be/prom-ade/
For FAQs: http://www.mvps.org/project/faqs.htm
"Vincent Isoz" schreef in bericht
news:
Bonsoir

Sans passer par un algorithme VBA je pense que cela ne sera pas possible.

En tout cas, ni les options proposées dans les tâches répétitives ni le
fait

de jouer avec un calendrier personnel pour la tâche ne permetteront de
faire

cela.

Si De Messemaeker confirme, je regarderai pour vous écrire ce petit code
si

le temps me le permet.

Cordialement


Bonjour,

Comment puis-je définir une tâche répétitive comme commençant le 20ème
jour


ouvré (ouvré j'insiste) de chaque mois ?

Merci de votre réponse.

Cordialement,

Vincent.




Avatar
Vincent
Merci à tous les deux pour vos réponses !
Mais c'est malheureusement ce que je craignais...

Je vais donc me rabattre sur la solution que vous préconisez.

Toutefois, je trouve dommage que Microsoft n'ait pas pensé à ajouter cette
fonctionnalité dans Project d'autant plus que la notion de jours ouvrés y est
présente lors de la définition d'un tâche répétitive quotidienne (mais pas
mensuelle).

Dans une prochaine version peut-être...
Avatar
Vincent Isoz
Oh! Vous pouvez être sûr qu'ils y ont pensé (ils ont quand même des bêtes qui
travaillent chez eux...) mais le problème c'est que si on doit satisfaire à
toutes les demandes équivalentes aux votres (lisez sur les forums vous verrez
qu'elles sont nombreuses) et qui semblent "logiques" aux yeux des
utilisateurs, il y aurait (au bas mot) des milliers d'options supplémentaires
dans le logiciel ce qui en ferait un outil inutilisable. Je connais de tels
outils (SAP) mais les utilisateurs se rabattent de suite sur MS Project
tellement ils prennent peur lorsqu'ils en voient la complexité.


Ceci dit, voici le code (il est tard donc j'espère pas avoir fait d'erreurs
de raisonnement). On doit pouvoir faire mieux qu'une complexité polynomiale
peut-être mais faudrait sûrement faire appel à des congruences et j'en suis
pas un fan... en tout cas pas à cette heure... :

Sub TacheReccurente()

Dim t, one As Task
Dim ts As Tasks
Dim intPeriod As String
Dim oStart As Date

Set t = ActiveSelection.Tasks(1)
Set ts = t.OutlineChildren

'il faut sélectionner la tâche récapitulative et les sous-tâches avant
'd'exécuter ce code
'on suppose pour simplifier le code que la première sous tâche se situe
'déjà le 20ème jour ouvrable du mois

intPeriod = InputBox("Nombre de jours ouvrés?")

oStart = t.Start

For Each one In ts
one.Start = oStart
oStart = DateSerial(Year(oStart), Month(oStart) + 1, 1)
For i = 1 To intPeriod - 1 Step 1
If Weekday(oStart, 2) >= 1 And Weekday(oStart, 2) < 6 Then
oStart = oStart + 1
ElseIf Weekday(oStart, 2) = 6 Then
oStart = oStart + 2
i = i - 1
ElseIf Weekday(oStart, 2) = 7 Then
oStart = oStart + 1
i = i - 1
End If
Next i
Next one

End Sub





Merci à tous les deux pour vos réponses !
Mais c'est malheureusement ce que je craignais...

Je vais donc me rabattre sur la solution que vous préconisez.

Toutefois, je trouve dommage que Microsoft n'ait pas pensé à ajouter cette
fonctionnalité dans Project d'autant plus que la notion de jours ouvrés y est
présente lors de la définition d'un tâche répétitive quotidienne (mais pas
mensuelle).

Dans une prochaine version peut-être...