XL 2019 formule matricielle

didier Costille

XLDnaute Nouveau
Bonjour le forum ,je cherche a mettre en oeuvre un calendrier de rotation équipes postés en 7x8 ,mais je bloque sur la formule matricielle que j'ai récupéré sur un calendrier de 5x8 mais je n'arrive pas a l'adapter ,merci de bien vouloir me donner un petit coup de pouce pour pouvoir terminer mon projet .
 

Fichiers joints

M12

XLDnaute Impliqué
Bonjour,
Teste cette formule en C4 , valide et tire à droite et en bas
VB:
=INDEX(Départ;MOD(INDIRECT(ADRESSE(LIGNE();PLANCHER(COLONNE()-1;9)+2))-DATE(2019;1;1);10)+1;MOD(COLONNE()-2;9))
 

didier Costille

XLDnaute Nouveau
Bonjour M12 ,ta formule fonctionne mais que sur le mois de Janvier ,lorsque j'essaie de l'appliquer sur les autres mois j'obtiens une erreur sur la formule
 

didier Costille

XLDnaute Nouveau
Bonjour M12 ,désolé de mon retard mais trop de travail ,je te remercie pour ta réponse j'ai testé mais ça ne fonctionne pas ,j'ai rallongé la trame des rotations ,peut être dois_je faire une année entière car ce rythme est cadencé par 7 cycles 5x8 et 4 cycles 2x8 . Et le mois de février en fonction des années bissextiles ne prend pas la MFC pour colorier les jours non masqués .
 

Fichiers joints

M12

XLDnaute Impliqué
Re,
En principe cela fonctionne, sauf que tu as supprimé le chiffre en cellule M7 de la feuille 1 qui indique le N° de ligne de départ au 1er janvier
De plus, comme tu as remis des lignes de vacation, il fallait les prendre en compte.
Et pour le 29 février, les formules n'y étaient pas.
 

Fichiers joints

didier Costille

XLDnaute Nouveau
Merci de ton retour,il faut que je regarde plus en détail car je trouve étonnant que les vacations soit quasi identiques avec les années ,je te tiens au jus ,bonne journée
 

M12

XLDnaute Impliqué
Re,
Bien sur qu'elle sont identiques, il te faut simplement modifier le N° de ligne en M7 de la feuille 1 pour indiquer qu'elle est la ligne de départ au 1er janvier
Tu ne pourras pas avoir une continuité entre année, tes vacation ne feront jamais 365 ou 366!!!
Fait un test, change le N° de ligne et regarde
 

didier Costille

XLDnaute Nouveau
Bonjour M12 ,merci de tes explications le chiffre 1 est bien celui de la ligne de départ du 1er Janvier ,mais je constate que tout se décale le 18 août ,pourquoi ?
 

M12

XLDnaute Impliqué
Re,
sur une année, tu as au max 366 jours
ta liste n'en comporte que 230 (le 230° jour, c'est le 18/08/2019
donc, il te faut agrandir ta liste de 366 jours, plus le Nb de décalage max qu'il pourrait avoir sur tes vacations
ensuite, il te faudra modifier les formules pour modifier la plage
Sélectionne le bloc de Janvier, menu Accueil / Rechercher --> Remplacer
dans rechercher le Nb existant dans remplacer le N° de la dernière ligne de la liste
Remplacer tous
Même opération sur les autres mois
Si tu n'arrives pas, modifie simplement la liste et poste ici, je te le ferai
 

M12

XLDnaute Impliqué
Re,
Cela n'a rien à voir,
le chiffre 1 en M7 indique le début des cycles
si l'année 2021 le 1er janvier ton début de cycle correspond à la ligne 10, tu remplaces le 1 par le 10 et le reste est automatique
 

eriiiic

XLDnaute Barbatruc
Bonjour à tous,

Une solution en déclarant juste un cycle complet.
En Feuil1!K1 inscrit la date de début de cycle.
En Planning!C4 :
VB:
=DECALER(Feuil1!$A$1;MOD(DECALER($A4;;ENT((COLONNE()-2)/8)*8+1)-Feuil1!$K$1;121);C$3-1)
A tirer vers la droite puis vers le bas, puis tu copies tout le mois sur les autres mois. Supprimes les derniers jours absents des mois

j'ai supposé que ton cycle de 121 jours était complet et qu'au 122ème jour on revenait à la ligne 1.
S'il ne l'est pas tu le complètes et tu adaptes le 121 de la formule.
Ah, je viens de voir un pb en avril, je reviens plus tard si résolu
 
Dernière édition:

M12

XLDnaute Impliqué
Bonjour à tous,

Une solution en déclarant juste un cycle complet.
En Feuil1!K1 inscrit la date de début de cycle.
En Planning!C4 :
VB:
=DECALER(Feuil1!$A$1;MOD(DECALER($A4;;ENT((COLONNE()-2)/8)*8+1)-Feuil1!$K$1;121);C$3-1)
A tirer vers la droite puis vers le bas, puis tu copies tout le mois sur les autres mois. Supprimes les derniers jours absents des mois

j'ai supposé que ton cycle de 121 jours était complet et qu'au 122ème jour on revenait à la ligne 1.
S'il ne l'est pas tu le complètes et tu adaptes le 121 de la formule.

Ah, je viens de voir un pb en avril, je reviens plus tard si résolu
Bonjour Ericcccc,

Apparement le cycle est plus basée sur 196 jours
 

eriiiic

XLDnaute Barbatruc
Finalement il n'y avait pas de pb, c'est juste que tu n'avais pas mis le format pour ne pas afficher les 0 partout...
Donc complète ton cycle s'il est de 196 jours comme dit M12 et modifie le 121 de la formule.
Met la date de début de cycle en K1. Si aucun changement elle peut rester 10 siècles.
Quand tu as recopié sur tout janvier, tu sélectionnes C4:I34 pour coller tout en K4, S4, ..., C38, ...
eric
 

Fichiers joints

  • J'aime
Reactions: M12

didier Costille

XLDnaute Nouveau
Bonsoir le forum et merci à M12 & Eriiiic pour le travail sur mon planning ,je pense que le résultat fonctionne mise a part les masquages des fin de mois comme février et autres qui gardent les MFC et ####### .
 

Fichiers joints

eriiiic

XLDnaute Barbatruc
Il suffit de tester date="" :
VB:
=SI(DECALER($A4;;ENT((COLONNE()-2)/8)*8+1)="";"";DECALER(Feuil1!$A$1;MOD(DECALER($A4;;ENT((COLONNE()-2)/8)*8+1)-Feuil1!$K$1;196);C$3-1))
eric
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas