Affichage d'un planning à partir de la date

Bonjour à tous,

Je suis en train de créer un planning. Le fait de le créer n'est pas mon problème mais j'aimerais créer un affichage sur 3 semaines glissantes. Cet affichage ne prend en compte que la colonne Nom-Prénom, la prise de poste et le planning de chaque opérateur.

J'ai commencé une macro mais je n'arrive pas à la faire boucler, elle ne prend en compte que le premier Lundi de la période des 3 semaines glissantes.

Je joint le code et le fichier.

Merci d'avance.

Le code:

Sub Codeprincipal()

Application.ScreenUpdating = False

Sheets("Planning").Select

Range("B15").Select

Selection.Copy 'Copie Nom Prénom'

Sheets("Affichage planning").Select

Range("A2").Select

ActiveSheet.Paste 'Colle Nom Prénom'

Sheets("Planning").Select

Range("E15").Select

Application.CutCopyMode = False

Selection.Copy 'Copie N° TP'

Sheets("Affichage planning").Select

Range("B2").Select

ActiveSheet.Paste 'Colle N° TP'

Sheets("Planning").Select

Range("I15").Select

Application.CutCopyMode = False

Selection.Copy 'Copie Prise de poste'

Sheets("Affichage planning").Select

Range("C2").Select

ActiveSheet.Paste 'Colle Prise de poste'

i = 16 'ligne planning'

j = 3 'ligne affichage'

a = 14 'Colonne planning'

b = 4 'Colonne affichage'

c = 11

'For c = 11 To 40

For a = 14 To 480

If Sheets("Planning").Cells(1, a).Value = Sheets("Notice").Cells(1, c).Value Then 'Test date'

While i <> 260 'Boucle tant que sur les lignes'

If Sheets("Planning").Cells(i, 2).Value = "" Then 'Si cellule vide on passe à la ligne suivante'

i = i + 1

Else

Sheets("Planning").Select

Range("B" & i).Select

Application.CutCopyMode = False

Selection.Copy

Sheets("Affichage planning").Select

Range("A" & j).Select

ActiveSheet.Paste 'Copier Coller du nom du collaborateur'

Sheets("Planning").Select

Range("E" & i).Select

Application.CutCopyMode = False

Selection.Copy

Sheets("Affichage planning").Select

Range("B" & j).Select

ActiveSheet.Paste 'Copier Coller de son numéro de TP'

Sheets("Planning").Select

Range("I" & i).Select

Application.CutCopyMode = False

Selection.Copy

Sheets("Affichage planning").Select

Range("C" & j).Select

ActiveSheet.Paste 'Copier Coller de sa prise de poste'

Sheets("Planning").Select

Cells(i, a).Select

Application.CutCopyMode = False

Selection.Copy

Sheets("Affichage planning").Select

Cells(j, b).Select

Selection.PasteSpecial Paste:=xlPasteValues

j = j + 1

i = i + 1

End If 'Fin If cellule vide'

Wend 'Fin tant que lignes'

End If 'Fin If test date'

Next

'Next

Sheets("Affichage planning").Columns("A:A").EntireColumn.AutoFit 'permet un l'affichage'

Sheets("Planning").Select

Cells(1, 1).Select

Application.ScreenUpdating = True

End Sub

46planning-vmacro4.xlsm (707.54 Ko)

Bonsoir,

Il me semble qu'il faudrait être un peu plus précis sur ce que tu veux faire...

Planning glissant : ça me paraît toujours intéressant. Mais ton fichier ne présente rien de tel !

En outre un planning qui vise une organisation opérationnelle n'a pas à s'encombrer dans le planning lui-même de données telles que type de contrat, date d'entrée, période d'essai, compétences, qui ne concernent pas ce niveau de planification de l'activité et doivent figurer ailleurs (pour que l'on puisse s'y référer si besoin, mais pas dans un planning !)

Si planning glissant sur 3 semaines, on doit y trouver les infos d'identification indispensable à l'activité planifiée et les 3 semaines calendaires, rien de plus !

Il faut en outre un dispositif pour le faire glisser (dans les deux sens, je suppose) selon le choix par semaine entière ou par jour (et sans séparation entre les semaines, qui casse le calendrier !), éventuellement par périodes plus importantes si l'on souhaite pouvoir faire des bonds dans le temps...

Il faut aussi prévoir ce qu'on fait des données qui ne seront pas dans les semaines affichées pour les conserver et pouvoir les réafficher.

Quant aux données à caractères statistiques ou de gestion administrative, leur place est aussi ailleurs et si une relation avec les données planning doit être établie, des procédures doivent être prévues à cet effet.

Bref, tes données font apparaître 3 grands blocs à distinguer : liste des personnes et informations sur leur statut..., planning des activités (poste tenu, présence et durée, absence), exploitation des données recueillies au niveau planning (qui fera peut-être apparaître des distinctions à opérer en son sein...) Et des relations précises entre ces diverses parties doivent être définies.

Je crois donc qu'il y a un important travail conceptuel à faire pour que les différents morceaux de ton projet soient parfaitement fonctionnels.

Pour ce qui concerne le planning proprement dit on ne doit avoir à se soucier que de recueillir des données factuelles indispensables permettant de visualiser l'activité dans le temps. Un dispositif permettant de circuler dans le calendrier le rendra glissant, cet aspect est purement interne à la partie planning. Mais l'autre aspect du glissement concerne les données enregistrées passées, présentes et futures qui devront être là au fil de la circulation calendaire : il faut donc les stocker pour pouvoir les restituer de façon instantanée pour l'utilisateur, mais aussi pour qu'elles puissent être utilisées par ailleurs (au niveau gestion dès lors que l'enregistrement des durées horaires devient une source d'enregistrement du temps de travail effectué). Je ne m'avancerai pas plus sans qu'on ait fait un tour exhaustif de l'ensemble des objectifs visés et des traitements à effectuer mais si leur volume tend à croître, il est possible que l'éclatement en plusieurs classeurs devienne nécessaire pour éviter un méga-classeur lourd et dysfonctionnel.

NB- Je n'ai pas lu ton code, parce que :

  • il n'est pas sous balises Code dans le post, donc plus difficile à lire,
  • il n'est pas indenté, donc cela accroît la difficulté de lecture, et cela prend beaucoup plus de temps à le lire,
  • c'est du code enregistré, bourré de Select et autres éléments inutiles..., dont on peut estimer que le volume écrit est réductible d'au moins deux-tiers, donc très pénible à lire, et que de toute façon il conviendra de réécrire si l'on veut quelque chose de propre, fonctionnel et un minimum optimal.

Cordialement.

Rechercher des sujets similaires à "affichage planning partir date"