Planning mensuel

sfconstant

XLDnaute Occasionnel
Bonjour à tous,

J'essaie de réaliser un planning automatisé pour une association.

Ainsi, pour commencer, je veux créer un modèle de planning pour ensuite avec la base de données créer autant de feuilles qu'il y a de salariés.

Pour commencer, en pièce jointe, j'ai réalisé un planning mensuel automatisé en fonction du mois grâce àlamise en forme conditionnelle. Seulement, je voudrais pouvoir régler la hauteur des lignes vides séparant les semaines : comment faire ?

De plus, le modèle est sur le février : je n'arrive pas à enlever les jours de Mars.

Merci pour votre aide précieuse.

Bonne soirée

François
 

Pièces jointes

  • Planning personnel 2009.zip
    6.3 KB · Affichages: 893

sfconstant

XLDnaute Occasionnel
Re : Planning mensuel

Bonjour à tous,

Merci beaucoup JCGL, ça marche super.

J'ai rajouté une feuille qui est le modèle d'un planning d'une journée de travail (feuille "Jour"). Est-ce possible à partir du mois sélectionné dans la feuille "Modèle" de créer autant de feuilles de jour qu'il y a de jours ouvrés dans le mois.

Merci beaucoup

A +

François.
 

Pièces jointes

  • Planning personnel 21 9.zip
    37.6 KB · Affichages: 66

sfconstant

XLDnaute Occasionnel
Re : Planning mensuel

Bonsoir à tous,

Merci à toi JCGL.

Je ne m'étais pas aperçu que tu avais changé la formulation de la MFC.

Aprés avoir rempli manuellement toutes les feuilles jours, j'aimerais pouvoir croisser toutes les données des feuilles jours de manière à ce que les feuilles salariées se remplissent automatiquement. Peut-on utiliser une formule ou alors faut-il une macro ?

Feuille "Jour"

Nom du salarié : col A
Heure réalisée : col H
Horaire : col F et G

A transcrire dans feuille "Planning Salarié"

Heure réalisée : col C
Horaire : col F et G

Merci
Bonne nuit
A +

François
 

sfconstant

XLDnaute Occasionnel
Re : Planning mensuel

Bonjour à tous

Est-ce-que vous pensez qu'il faut que je fasse deux fichiers (un planning salariés et un planning de chaque jour) ?


Je suis parti avec l'idée de faire un seul fichier car pas besoin de liaison, ça se met à jour automatiquement. Mais peut être cela serait plus simple ?

Merci

A +

Bonne journé

François
 

JCGL

XLDnaute Barbatruc
Re : Planning mensuel

Bonjour à tous,

Ton fichier avec ces deux séries de feuilles (série Jours et série Salariés) n'arrange pas les choses.

Je regarde si je peux trouver une solution mais je doute de mes capacités à répondre à ta demande.

Rassures-toi, ce Forum est plein d'Excellents contributeurs(trices)...

A+ à tous
 

sfconstant

XLDnaute Occasionnel
Re : Planning mensuel

Bonsoir à tous

Merci beaucoup de me rassurer JCGL.

J'espère qu'il y a une solution possible, car actuellement c'est fait manuellement : ça prend beaucoup de temps et ily a des erreur de retranscription.

Ca doit être un code VBA assez complexe pour croiser autant de données.

Merci

Bonne soirée à tous

A +

François
 

sfconstant

XLDnaute Occasionnel
Re : Planning mensuel

Bonjour à tous

Puisque le croisement de données entre deux séries de plusieurs dizaines de feuilles semble très compliqué, je vais créer une série de 31 feuilles fixes correspondant à tous les jours d'un mois ('jour 1', 'jour 2',…'Jour 31').
Puis, je définis un nom pour chaque plage de cellules correspondant à un horaire de travail au cours de chaque journée :

Jour2_3 : 2ème Jour du mois, 3 heures réalisées
Jour2_4 : 2ème Jour du mois, 4 heures réalisées
Jour2_8
Jour2_9

Je vais faire cela pour toutes les feuilles 'Jours' soit : 31 jours x 4 noms définis.

Puis, dans la feuille 'modèle', j'inscris la formule suivante dans les 31 cellules de la colonnes C (voir feuille 'Modèle' C17)

SI(NB.SI(Fer;A17)>0;"Férié";SI(SOMMEPROD((Base!$A$5:$A$50=Modèle!$A$3)*(Base!$J$5:$Y$50=Modèle!$A17))>0;"Congés";SI(NB.SI(Jour2_8;A3)>0;"8:00";SI(NB.SI(Jour2_4;A3)>0;"4:00";SI(NB.SI(Jour2_3;A3)>0;"3:00";"""")))))

Le problème est que j'ai une imbrication de plus de 7 conditions (seulement 7 sont affichées) et donc la formule ne fonctionne pas : comment faire ?


Cette solution ne me convient pas beaucoup car j'ai des feuilles 'Jour' fixes, qui ne varient pas automatiquement avec le mois choisi; des feuilles "samedi", "dimanche" qui ne sont pas utiles. De plus, j'ai des formules à rallonge qui sont source d'erreur. Mais, je ne vois pas pour le moment d'autres solutions.

Merci pour toutes indications me permettant de trouver la meilleure solution possible à ce problème complexe.

Bonne après-midi à tous

A plus

François
 

Pièces jointes

  • copie planning jcgl 29 9.zip
    40.4 KB · Affichages: 40

JCGL

XLDnaute Barbatruc
Re : Planning mensuel

Bonjour à tous,

La formule à l'air de fonctionner :

Code:
=SI(NB.SI(Fer;A17)>0;"Férié";SI(SOMMEPROD((Base!$A$5:$A$50=Modèle!$A$3)*(Base!$J$5:$Y$50=Modèle!$A17))>0;"Congés";SI(NB.SI(Jour2_8;A3)>0;"8:00";SI(NB.SI(Jour2_4;A3)>0;"4:00";SI(NB.SI(Jour2_3;A3)>0;"3:00";SI(NB.SI(Jour2_9;A3)>0;"9:00";""))))))
Bon courage :)

A+ à tous
 

Pièces jointes

  • V2 copie planning jcgl 29 9.zip
    39 KB · Affichages: 51

sfconstant

XLDnaute Occasionnel
Re : Planning mensuel

Bonjour à tous,

J'ai peut être trouver une solution plus simple à mon problème.

En consultant le forum, je me suis intéressé au sujet concernant la "Synthèse de plusieurs tableaux" d'Altinea et à la super formule de Monique :

=SOMMEPROD(SOMME.SI(INDIRECT(NomOnglets&"!B2:B100" );$A2;INDIRECT(NomOnglets&"!E2:E100")))

que j'ai essayé d'adapter à ma feuille 'Modèle' en C17 :

=SI(NB.SI(Fer;A17)>0;"Férié";SI(SOMMEPROD((Base!$A$5:$A$50=Modèle!$A$3)*(Base!$J$5:$Y$50=Modèle!$A17))>0;"Congés";SOMMEPROD(SOMME.SI(INDIRECT('"&A17 &"'!B3:B101);$A$3;INDIRECT("'"&A17 &"'!H7:H100")))))

Mais ça ne marche pas : Peu êtreparce que je ne sais pas bien utliser cette formule ou alors parce que dans la formule INDIRECT, le nom de l'onglet (date) ne correspond pas au format de la date A17 :Comment faire pour que la cellule A17 remvoie à la feuille correspondante ?

Cette méthode peut-elle fonctionner pour le report des heures (colonne H des feuilles 'Jour') vers les feuilles 'Salariés'

Merci d'avance

Bon week-end

François
 

Pièces jointes

  • JC Planning Personnel 3 10 modifié.zip
    47.9 KB · Affichages: 43
Dernière édition:

Monique

Nous a quitté
Repose en paix
Re : Planning mensuel

Bonjour,

à essayer en C16 :
Code:
[FONT=Verdana]=SI(ESTERR(INDIRECT("'"&TEXTE(A16;"jjjj jj mmm aa")&"'!A1"));"";SI(NB.SI(Fer;A16);"Férié";SI(SOMMEPROD((Base!$A$5:$A$50=$A$3)*(Base!$J$5:$Y$50=$A16));"Congés";SOMMEPROD(SOMME.SI(INDIRECT("'"&TEXTE(A16;"jjjj jj mmm aa") &"'!A7:A100");$A$3;INDIRECT("'"&TEXTE(A16;"jjjj jj mmm aa") &"'!H7:H100"))))))[/FONT]

SI(ESTERR(INDIRECT("'"&TEXTE(A16;"jjjj jj mmm aa")&"'!A1"));"";
si la feuille n'existe pas : ""

SI(NB.SI(Fer;A16);"Férié";
pas besoin de >0
Idem pour le format conditionnel : pas besoin de >0

SI(SOMMEPROD((Base!$A$5:$A$50=$A$3)*(Base!$J$5:$Y$50=$A16));"Congés";
pas besoin de >0, référence à la feuille "Modèle!" enlevée, sinon pas de changement

SOMMEPROD(SOMME.SI(INDIRECT("'"&TEXTE(A16;"jjjj jj mmm aa") &"'!A7:A100");$A$3;INDIRECT("'"&TEXTE(A16;"jjjj jj mmm aa") &"'!H7:H100"))))))

TEXTE(A16;"jjjj jj mmm aa") : c'est le format texte de la date en A16 donnant le nom des onglets (le nom des onglets est du texte)
A7:A100 : les noms sont en A, pas en B
H7:H100 : mêmes lignes que A7:A100
INDIRECT("'"&TEXTE(A16;"jjjj jj mmm aa") &"'!A7:A100") : apostrophe entourée de guillemets avant &TEXTE et précédée d'un guillemet avant le point d'exclamation
 

Pièces jointes

  • SommeSi3D-Sfconstant.zip
    45.1 KB · Affichages: 53

sfconstant

XLDnaute Occasionnel
Re : Planning mensuel

Bonjour à tous,

Merci beaucoup Monique pour ce super résultat.

Je vais mettre un certain temps à digérer cette formule, mais c'est comme cela que l'on apprend.
Etant donc un peu perdu dans cette formule, je ne sais pas où placer le mot "Repos" lorsque la personne ne travaille pas, en remplacement de "0 h 00 mm"

Bonne soirée

François
 

Discussions similaires

Réponses
5
Affichages
1 K
Réponses
1
Affichages
877

Statistiques des forums

Discussions
311 725
Messages
2 081 941
Membres
101 846
dernier inscrit
Silhabib