Planing sur Excel qui s'adaptent aux contraintes du calendrier

Fermé
Nikolas - 9 déc. 2017 à 01:17
 Nikolas - 9 déc. 2017 à 14:48
Bonjour à tous,

Je suis face à un problème, j'ai peur d'être arrivé aux limites d'excel.

Je cherche à mettre au point un planning particulier.
J'aimerai pouvoir encoder dans Excel des dates (IN) auxquelles excel appliquerait un délai variable (1 jour, 5 jours, 10 jours...) et me fournirait une date OUT.

Exemple : J'encode le 11 décembre 2017 avec un délai de 10 jours. Excel me sort la date du 21 décembre.

Toutefois, certaines contraintes se présentent évidemment (bah oui sinon ce serait trop facile!), il ne faut pas que la date OUT tombe un weekend ou un jour férié.
J'ai donc trouvé le moyen d'empêcher Excel de me mettre un OUT un jour férie ou weekend (ce qu'il fait très bien) mais alors il rallonge le délai.

Exemple : J'encode le 11 décembre 2017 avec un délai de 6 jours. Excel me sort la date du 18 décembre qui est le jour premier jour ouvré suivant la date que je lui avait demandé (qui était sensé être le dimanche 17 décembre). Donc il a rallongé le délai que je lui avais imposé de 1 jours.

C'est là que le bas blesse, je ne veux pas qu'il rallonge mon délai mais plutôt qu'il décale mon IN, jusqu'à tomber sur une date IN qui respecterai le délai imposé en me donnant une date OUT qui ne tombe pas sur un jour de congé/weekend.

Est-ce selon vous possible sur Excel?

J'espère avoir été clair, si vous avez besoin de précisions n'hésitez pas à me demander.

Merci beaucoup de votre aide.

Nikolas
A voir également:

4 réponses

Raymond PENTIER Messages postés 58393 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 23 avril 2024 17 096
9 déc. 2017 à 02:07
Bonjour.

Bien sûr, que c'est possible ... Au lieu d'écrire OUT=IN+D tu écris IN=OUT-D !
En effet ton problème n'est pas
"J'aimerai pouvoir encoder dans Excel des dates (IN) auxquelles excel appliquerait un délai variable (1 jour, 5 jours, 10 jours...) et me fournirait une date OUT" mais
"J'aimerais pouvoir encoder dans Excel des dates (OUT) desquelles Excel défalquerait un délai variable (1 jour, 5 jours, 10 jours...) et me fournirait une date IN" ...
0
Bonjour Raymon,

Tout d'abord merci de votre réponse.

Mais alors le problème reste entier, Excel risque de me fournir des dates IN qui pourraient tomber un jour de congé.
De plus, il est plus intéressant pour moi de fixer le IN afin de lancer un maximum d'évènement le même jour.

A ce jour, j'ai essayé de travaillé avec les jours ouvrés mais mon problème est réellement que j'ai besoin qu'il décale tout seul la date IN.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié le 9 déc. 2017 à 09:25
Bonjour,

comme la saisie va être modifiée, Excel va refuser, il faut passer par du VBA

on change "IN" en avançant ou en décalant sa date ?

 Michel
0
Bonjour Michel,

Je ne sais pas du tout ce que signifie VBA.

Effectivement, l'idée serait de décaler la date "IN" jusqu'à tomber sur un "OUT" tombant un jour ouvré tout en respectant le délai imposé.
0
via55 Messages postés 14403 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 24 avril 2024 2 702
9 déc. 2017 à 12:02
Bonjour

J'abonde dans le sens de michel (que je salue au passage) il faut du VBA et donc un exemple de ton fichier, à poster sur cjoint.com en faisant créer un lien, le copier et revenir le coller ici

Autre souci, tu parles de délai de 10 jours, en ce cas impossible de trouver 10 jours d'affilée sans WE, le délai sera forcément porté à 12 jours alors que fait-on dans ce cas ?

Cdlmnt
Via
0
Bonjour,

Passer par un weekend ne présente pas de problème.
Le soucis est que la date "OUT" (donc après le délai de 10 jours) doit elle tomber un jour ouvré.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
9 déc. 2017 à 12:34
re Nikola

Bonjour, Via, ca va ? :o)

je dois ^tre à coté de la plaque mais....
ecrire délai et date In

https://mon-partage.fr/f/dwXitEw8/

le code
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Static Flag As Boolean
Dim Delai As Byte, Deb As Date, Fin As Date, Ferie As Range
Dim test As Byte

If Not Intersect(Range("in"), Target) Is Nothing Then
If Flag = False Then
Flag = True
Deb = Range("in")
Delai = Range("delai")
Set Ferie = Range("ferie")
Fin = Application.WorkDay(Deb, Delai, Ferie)
test = Delai - Application.NetworkDays(Deb, Fin, Ferie)
Range("in") = Application.WorkDay(Deb, test, Ferie)
End If
End If

Flag = False
End Sub

0
Je regarde ça de suite !
Merci infiniment.
0