Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Reconstituer un planning mensuel

sebastien34

XLDnaute Nouveau
bonjour a tous,
je n'ai pas trouvé de solution pour mon problème.
j'ai des plannings semaine et je souhaiterais les reconstituer automatiquement sur un planning mensuel.
quelqu'un peut il me donner un petit coup de main?

merci beaucoup
 

Pièces jointes

  • planning.xlsx
    136.2 KB · Affichages: 31

chris

XLDnaute Barbatruc
Bonjour

Tu as pris le problème à l'envers

Au lieu de concevoir les plannings comme des plannings papier, il fallait faire une liste de données (tableau structuré) à partir de laquelle tu peux facilement obtenir ton tableau papier...

A noter NO.SEMAINE ne correspond pas à notre norme et qu'il faut utiliser NO.SEMAINE.ISO
 

Deadpool_CC

XLDnaute Accro
bonjour,
indépendamment que la remarques de Chris est à mon sens justifier, reprendre une autre forme, migrer les archives pour qu'elle soient au même format, .... cela n'a rien de simple.
mais tu devrais garder dans un coin de ta tête que un jour faudra "moderniser" ce fichier.

D'autre part ... tu es sur de ton format de calendrier mensuel ... ?

Je ne sais pas remplir des "matin / après midi" ou des "après-midi / matin" à partir des données semaine :

On y met quoi ? le nb d'heures faites dans les matin/matin et apres-midi/après-midi et on les les autres vides ?

Et ensuite travailler avec des cellules fusionnées c'est tout de suite plus galère ... c'est bien dommage.

Corrige ton calcul N° de semaine (cf. remarque de Chris) car mauvaise correspondance entre la ligne 14 du "calendrier" et le nom de feuille semaine.
 

sebastien34

XLDnaute Nouveau
Merci Deadpool_CC, effectivement il y avait des infos que je n'avait pas remis a jour, car j'avais la tête dedans et je n'y faisait plus attention. dans mon idée cela devrais donner le résultat du mercredi 4.
mais je galère pour récupérer les infos des feuilles par rapport au mois.
 

Pièces jointes

  • planning.xlsx
    135.5 KB · Affichages: 8

Deadpool_CC

XLDnaute Accro
Vu le nouveau fichier ... avec les décalages de ligne, le fait de lire dur 2 lignes, je vais réfléchir à une formule mais elle va être complexe. si un autre contributeur veut tenter en parallèle n'hésitez pas
un VBA serait d'ailleurs peut-être plus simple.
Question annexe : 1 classeur Excel par mois ou alors tu va ajouter des onglets semaine(xx) et traiter toute l'année dans un seul fichier ?

En formule sur une année x nb salariés ... il ne faudrait pas que ton classeur se mette en mode escargot
D'ou l'option VBA "à la demande" sera certainement plus appropriée.
 

sebastien34

XLDnaute Nouveau
le classeur complet a 53 feuilles (semaines) je ne l'ai pas mis complet car il y a le fichet personnel des employés.
pense tu que l'on pourrait récupérer toutes les infos de chaque semaine dans une seule feuille et après les envoyer dans une feuille mensuel?
 

GALOUGALOU

XLDnaute Accro
bonjour le fil bonjour le forum salut deadpool_cc
Un petit essai sur cette problématique, avec la fonction indirect pour récupérer le nom des feuilles se trouvant sur la ligne 8, index et équiv pour la recherche dans les différentes feuilles. sur la ligne 7 une indexation pour partager matin après midi.

perso je n'aime pas les cellules fusionnées, donc une proposition sans cellules fusionnées, faisant référence à la ligne 7 et 8, et la colonne c de la feuille calendrier. (si deux personnes portent le même prénom, il faudra trouver une solution de contournement.(adapter les formules ou indexer les prénoms, à vous de voir))
pour la compréhension j'ai coloré de rouge dans toutes les feuilles, les cellules de référence, mais cela n'a rien d'obligatoire, vous pouvez écrire blanc sur fond blanc pour faire disparaitre ces informations

pour le matin
VB:
=SIERREUR(INDEX(INDIRECT("'"&E$8&"'!$A$2:$AF$21");EQUIV($C15;INDIRECT("'"&E$8&"'!$c$2:$c$21");0);EQUIV(E$7;INDIRECT("'"&E$8&"'!$A$2:$Ae$2");0));"")
pour l'après midi
Code:
=SIERREUR(INDEX(INDIRECT("'"&E$8&"'!$A$2:$AF$21");EQUIV($C15;INDIRECT("'"&E$8&"'!$c$2:$c$21");0)+1;EQUIV(E$7;INDIRECT("'"&E$8&"'!$A$2:$Ae$2");0));"")

Il semblerait que ce fichier soit sur un réseau, comme je ne suis pas informaticien, je ne sais pas s'il y a compatibilité avec votre organisation.
Mais bon, c'est un début de solution pour faire avancer le sujet.
cdt
galougalou
 

Pièces jointes

  • planning(2).xlsm
    147.8 KB · Affichages: 9
Dernière édition:
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…