XL 2013 planning cyclique

flegeo.d@gmail.com

XLDnaute Nouveau
Bonjour,
Voila je vous expose mon problème.
J'ai un planning cyclique avec quatre agents à la base. Mais aujourd'hui le nombre d'agents passe à sept.
Mon problème c'est que je ne sais pas comment faire pour intégrer les 3 autres agents (formule bien sur).
Je ne sais pas si je suis très clair!!!
Agent1 (dejà sur planning)
Agent2 (dejà sur planning)
Agent3 (dejà sur planning)
Agent4 (dejà sur planning)
Agent5 (a inserer dans le planning)
Agent6 (a inserer dans le planning)
Agent7 (a inserer dans le planning)

Je mets le fichier en joint
N'hésitez pas à me demander des renseignements complémentaires
Merci à ceux qui vont y jeter un oeil.
 

Pièces jointes

  • planning 2015 AS.xls
    202 KB · Affichages: 104

Dranreb

XLDnaute Barbatruc
Re : planning cyclique

Bonjour.
C'est le sens de votre "comment" qui n'est pas clair, selon que vous savez comment définir mais que vous ne savez comment appliquer ce que vous avez défini, ou l'inverse. Dans les deux cas il nous manque des éléments. Et si vous ne savez ni l'un ni l'autre j'ai bien peur qu'on ne puisse rien pour vous. Il doit bien y avoir des contraintes là dessous, non ? Ça parait avoir été mûrement réfléchi spécifiquement pour 4 agents, mais selon quels fondements ou principes ?
 

flegeo.d@gmail.com

XLDnaute Nouveau
Re : planning cyclique

c'est un planning que quelqu’un m'avait fait il y a 5/6 ans.
A cette période nous étions que 4 sur le planning.
Maintenant nous sommes 7
ce que je n'arrive pas, c'est a insérer dans les nouvelles lignes la formule permettant le déroulé automatique du roulement.
Merci
 

flegeo.d@gmail.com

XLDnaute Nouveau
Re : planning cyclique

je mets en ligne le planning d'origine (c'était 5 agents à l'origine) désolé de l’erreur. que j'avais réussi à modifier pour passer à 4.
Mais maintenant que je veux rajouter 2 autres agents (pour faire 7) je ne sais pas comment faire.
merci
 

Pièces jointes

  • CalCyclique.xlsm
    48.5 KB · Affichages: 110

Dranreb

XLDnaute Barbatruc
Re : planning cyclique

J'avoue que je n'en sais rien. Ça utilise des noms avec références de lignes relatives, ça va toujours être difficile à mettre au point.
Ce que je peux vous proposer c'est de revoir la fonction CYC pour qu'elle s'occupe de plus de choses, et on l'utiliserait directement dans les cellules.
On lui passerait deux paramètres:
1) — La date prise de la dernière ligne jaune au dessus, même colonne,
2) — une valeur constante arbitraire de calage selon la personne. Ça vous irait ?
 

flegeo.d@gmail.com

XLDnaute Nouveau
Re : planning cyclique

Bonsoir,
oui pourquoi pas. On peut voir ce que cela peut donner.
En fait les 7 agents on un même roulement tels que:
LMMJVSD LMMJVSD LMMJVSD LMMJVSD LMMJVSD LMMJVSD LMMJVSD
NN--NNN--NN---NNNN----------NN--NNN--NN----------
N correspond à une nuit de travail
- correspond à des repos
Ce qui donne 2 nuits, 2 repos, 3 nuits, 2 repos, 2 nuits, 3 repos, 4 nuits, 10 repos, 2nuits, 2 repos, 3 nuits, 2 repos, 2 nuits et 10 repos.

je sais pas si c'est clair?
Merci de me consacré du temps
 

Dranreb

XLDnaute Barbatruc
Re : planning cyclique

Alors faisons déjà un essai avec une version de la fonction qui ne requiert que la date :
VB:
Function CYC(ByVal D As Range) As String
Const Z = "NN--NNN--NN---NNNN----------NN--NNN--NN----------"
CYC = Mid$(Z, (D.Value - (Application.Caller.Row - D.Row) * 7 - 2) Mod 49 + 1, 1)
End Function
En B13 :
Code:
=CYC(B$11)

Edit: Bonne année !
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : planning cyclique

Bonjour, et re-bonne année. Je l'ai un peu revu pour qu'il ne salisse plus les colonnes où il n'y aurait pas de date, et j'ai ajouté une procédure d'installation qui règle en même temps quelques détails parfois sans grand rapport :
VB:
Option Explicit
'

Function CYC(ByVal D As Range) As String
Const Z = "NN--NNN--NN---NNNN----------NN--NNN--NN----------"
If Not IsDate(D.Value) Then Exit Function
CYC = Mid$(Z, (D.Value - (Application.Caller.Row - D.Row) * 7 - 2) Mod 49 + 1, 1)
End Function
'

Sub Installation()
Dim N&, L&, PLg As Range
Application.Goto Feuil1.[A1]
Cells.FormatConditions.Delete
For N = 1 To 12
   If N = 1 Then
      L = 11 ' Ne pouviez vous vraiment pas vous arranger pour que janvier soit en ligne 14 ?
   Else      ' Touts les autres mois sont basés sur la 14 :
      L = 14 + (N - 1) * 11
      End If
   Set PLg = [B:AF].Rows(L).Resize(11)
   If N = 2 Then
      Cells(L, "AD").FormulaR1C1 = "=IF(MONTH(SLF)=MONTH(RC2),SLF,"""")"
      Cells(L + 1, "AD").FormulaR1C1 = "=IF(MONTH(SLF)=MONTH(R" & L & "C2),_SLF1,"""")"
      End If
   PLg.Rows(3).Resize(7).FormulaR1C1 = "=CYC(R" & L & "C)"
   With PLg.Resize(11).FormatConditions.Add(Type:=xlExpression, _
      Formula1:="=OU(JOURSEM(B$" & L & ";2)=7;ESTNUM(EQUIV(B$" & L & ";Ferie;0)))")
      .Interior.Color = RGB(199, 255, 151): .Font.Color = RGB(186, 0, 0)
      .StopIfTrue = False
      End With
   Next N
End Sub
 

Dranreb

XLDnaute Barbatruc
Re : planning cyclique

Bonsoir.
Utilisez quand même ma procédure d'installation: elle remet des mises en formes conditionnelles correctes et une formule pour le 29 février qu'il ne sera plus nécessaire d'enlever pour les années non bissextiles.
 

Dranreb

XLDnaute Barbatruc
Re : planning cyclique

Bonjour.
Ça dépend. Poursuivez la discussion pour une mise au point qui se rapporte encore au planning cyclique,
Ouvrez en une nouvelle si, même s'il concerne le même classeur, c'est un problème qui n'a plus rien à voir avec ça.
 

Membres actuellement en ligne

Statistiques des forums

Discussions
312 196
Messages
2 086 100
Membres
103 116
dernier inscrit
kutobi87