création planning

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Répondre
M
Maclad
Nouveau venu
Nouveau venu
Messages : 2
Inscrit le : 17 octobre 2017
Version d'Excel : 2007 FR

Message par Maclad » 17 octobre 2017, 13:35

bonjour à toutes et tous,

dans le cadre de mon boulot, je dois créer un tableur afin d'établir un planning pour la réalisation d'une tâche.
Je m'explique, j'ai une liste de nom (19) et chacun à tour de rôle doit effectuer 1 tâche par jour.
Je voulais donc créer un planning pour que tous les 19 jours ouvrés (lundi à vendredi) on repasse au 1er nom de la liste.
par exemple :
lundi 1er : personne 1
mardi 2 : personne 2
etc...
Lundi 20 : personne 1
etc...

et comme je suis un peu paresseux, je voulais savoir s'il y avait un moyen d'automatiser ça ??

Merci d'avance pour votre aide et si vous avez besoin de précisions, n'hésitez pas à me demander.
Avatar du membre
LouReeD
Contributeur
Contributeur
Messages : 7'074
Appréciations reçues : 370
Inscrit le : 14 octobre 2014
Version d'Excel : 2013 FR, 2016 FR
Contact :
Téléchargements : Mes applications

Message par LouReeD » 17 octobre 2017, 13:56

Bonjour,

voyez ce sujet...
Peut-être que le fichier "maintenance" peut vous convenir...

@ bientôt

LouReeD
Quelques règles à lire ICI ;;)
______________________________________________________Vous pouvez allez faire un tour sur : Index de "Mes applications" ;;)
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'171
Appréciations reçues : 448
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 17 octobre 2017, 15:32

Bonjour, Salut LouReed !

Mettons : en colonne A tu vas lister tes employés, de A1 à A19, tu nommes cette liste Liste. C'est plus commode car tu utilises le nom au lieu de référence de cellule. Tu pourras donc la placer n'importe où sur la feuille ou une autre, c'est toujours le nom que tu utiliseras et qui ne chengera pas...

En colonne E (par exemple ! :D ), tu tapes en E1 la formule :
=DECALER(Liste;MOD(LIGNE()-1;19);;1)
Elle va te renvoyer le premier nom de la liste. Tu la tires vers le bas pour la recopier sur les lignes suivantes... Jusqu'à la ligne 19, les noms de la liste vont se succéder. A la ligne 20, le premier nom réapparaîtra et la liste se continuera une 2e fois jusqu'à la ligne 38, pour repartir encore au premier nom à la ligne 39...

Si tu ne commences pas ligne 1 mais ligne 2 par exemple : au lieu de LIGNE()-1 tu mettras LIGNE()-2... soit LIGNE() qui renvoie le numéro de la ligne sur laquelle elle se trouve - ce numéro de ligne, de façon que l'expression renvoie 0 sur la première cellule utilisée.

Il ne te reste plus qu'à placer en D (par exemple) les dates de tes jours ouvrés : si tu n'exclue en non ouvrés que les samedi et dimanche, tu utiliseras la fonction SERIE.JOUR.OUVRE. Vois dans l'aide comment elle fonctionne.

Tu auras deux façons de l'utiliser, définir chaque jour ouvré à partir d'une date de référence, ou bien le définir à partir du jour ouvré précédent (mais pour le premier il faudra bien en passer par une date de référence).
Voyons la première hypothèse : supposons que tu démarres ton planning en octobre, ta date de référence va être celle qui précède immédiatement le début du planning, soit le 30 septembre.
Pour faciliter la suite, tu vas taper en J1 (toujours par exemple ! :lol: ) la date : 30/09/2017.
En D1 (puisqu'on a commencé ligne 1 !) tu vas taper la formule :
=SERIE.JOUR.OUVRE($J$1;LIGNE())
Cela va t'afficher un nombre : 43010. Mais ce nombre est une date ! Tu modifies le format de cellule pour lui donner un format de date, et tu vas constater qu'il s'agit du 2 octobre, premier jour ouvré qui suit le 30/09.
Tu tires la formule vers le bas, comme la précédente, et les jours se succéderont, à l'exclusion des non ouvrés.

Dans cette formule, on a mis LIGNE() comme variable d'incrémentation, car on débute ligne 1 et l'incrémentation doit commencer à 1 (1er jour ouvré après la date de réf.). Si tu débutes ligne 2, tu mettras LIGNE()-1, ainsi de suite...

Il va te falloir aussi compléter la formule pour exclure les fériés en sus des samedis et dimanches, sinon à la ligne 23 tu verras déjà apparaître 1er novembre !
Pour cela, tu dresses quelque part une liste des fériés à prendre en compte, tu nommes cette liste Fériés, et ta formule devient :
=SERIE.JOUR.OUVRE($J$1;LIGNE();Fériés)
Avec ça, tu devrais déjà pouvoir dresser ton planning !

Cordialement.
M
Maclad
Nouveau venu
Nouveau venu
Messages : 2
Inscrit le : 17 octobre 2017
Version d'Excel : 2007 FR

Message par Maclad » 17 octobre 2017, 17:00

bonjour à vous 2

merci pour vos réponses !
@Mferrand : j'ai dû louper un truc dans ton explication.
lorsque je tapes la formule :
[/=SERIE.JOUR.OUVRE($J$1;LIGNE())code]
j'ai la date du 02/01/1900 qui apparait (après modification du format de cellule). Comment faire en sorte que ça démarre à la date de début au 30/10/17 ?
j'ai taper cette formule mais je ne suis pas certain que ce soit la solution que tu proposais :
[code]=SERIE.JOUR.OUVRE($J$1;LIGNE()+30740)
Et j'avoue ne rien avoir compris pour la suppression des jours fériés...
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'171
Appréciations reçues : 448
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 17 octobre 2017, 17:20

Si tu as 2 janvier 1900, c'est que tu n'as pas mis de date dans J1 ! :D
Mets en une et cela règlera le problème.

Pour les Fériés, tu sais faire une liste ? :mrgreen: Tu choisis une colonne et tu listes les jours fériés, dans chaque cellule de la colonne, tu mets une date de férié à exclure (tu t'arrêtes quand tu n'as plus de fériés... :mrgreen: ).

Tu sélectionnes cette liste (la plage dans laquelle elle se trouve), et (onglet Formules) tu cliques sur Définir un nom : dan sla boîte de dialogue, tu mets le nom : Fériés, et tu valides. Le nom sera inscrit dans le Gestionnaire de noms, où tu pourras le consulter.
C'est la même chose d'ailleurs que pour la liste des employés...

Et tu mets le nom Fériés en 3e argument de la fonction. Les fériés de la liste ne seront pas reconnus comme jours ouvrés.

Cordialement.
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message