XL 2013 Planning des tâches et TCD

silverscreen

XLDnaute Nouveau
Bonjour à tous.

Après avoir souvent trouvé des réponses à mes questions sur ce forum, je viens de m'inscrire parce que je sèche complètement.

Je vous fais un petit historique:
Le service administratif de notre entreprise de paysage m'avait demandé d'automatiser leur planning des tâches à faire sur l'année, mois par mois.
J'ai réussi à le faire en utilisant une combinaison de [Tableau] + TCD que j'aime beaucoup car on peu utiliser les segments et actualiser facilement.
Je vous joint le fichier pour exemple.

Maintenant, le service Qualité Sécurité Environnement voudrait également son planning, mais amélioré: ils voudraient en effet avoir un planning annuel, mais par jour!

il faudrait donc que mon TCD affiche tous les mois ainsi que tous les jours de chaque mois (et pas que ceux ayant une tâche).
Je vous joins la base du fichier commencé (même s'il n'y a pas grand chose).

Je désespère de trouver une réponse, ça fait des jours que je tourne le problème dans tous les sens...

Je vous remercie par avance de votre aide!

Bonne journée
 

Fichiers joints

sousou

XLDnaute Accro
Bonjour,
Je te propose ce code qui reconstruit les données dans la feuil1 tu peux ainsi refaire tes tdc
J'ai règlé le problème de l'année de manière arbitraire, celle-ci n'existant pas dans tes données
A adapter et à voir si celasuffit

Public tfbd, n
Sub calendrier()
Sheets("feuil1").UsedRange.Delete
Set tfbd = Sheets("saisie (2)").ListObjects("tableau42")
rep = InputBox("année?", "Année", Year(Date))
datedeb = CDate("1/1/" & rep)
datefin = CDate("31/12/" & rep)
n = 1
For madate = datedeb To datefin Step 1
Sheets("feuil1").Cells(n, 1) = madate
Call chercheaction(madate)
n = n + 1

Next
Sheets("feuil1").UsedRange.Sort key1:=Sheets("feuil1").Columns(1)
End Sub
Sub chercheaction(d)

For Each act In tfbd.ListColumns("jour").DataBodyRange
If act <> "" Then
dateact = CDate(act.Value & "/" & act.Offset(0, 1) & "/" & Year(Date))
If dateact = d Then
Call copieact(d, act)
End If
End If
Next
End Sub

Sub copieact(d, act)
With Sheets("feuil1")
.Cells(n, 1) = d
tfbd.ListRows(2).Range.Copy
.Cells(n, 2).PasteSpecial (xlPasteValues)
n = n + 1


End With
End Sub
 

silverscreen

XLDnaute Nouveau
Bonjour à sousou et tatiak et tout d'abord, merci pour vos réponses.

A tatiak, votre planning est bien fait mais ne me correspond pas car je serais incapable de le modifier et le remodeler pour répondre à mes besoins. En effet, n'y comprenant pas grand chose en VBA, je cherche une solution utilisant l'outil Tableau et TCD qui permettent une grande souplesse dans les tris, filtres etc... En plus, je les utilisent souvent dans le cadre de mon travail et cela me permettra de progresser.

Pour sousou, j'ai testé le code, mais cela ne correspond pas trop à mes attentes (mais je n'ai surement pas bien expliqué).

En gros, j'aimerais que cela ressemble à l'image ci-dessous. Que tous les mois et les jours apparaissent et que lorsqu'une tâche doit durer 7 jours, elle soit colorée sur toute la durée.

1573131142884.png

Est-il possible de trouver une solution n'utilisant que des [Tableaux] et sans VBA?

Je vous remercie encore pour voter aide!
 

sousou

XLDnaute Accro
Je persiste;)
Regarde de nouveau avec le tcd et la macro
Pour le TCD je crois que tu as les infos qui vont bien, mais je suis nul sur sa mise en forme
Je pense que c'est une piste à suivre sauf si quelq'un à une meilleur idée
 

Fichiers joints

silverscreen

XLDnaute Nouveau
je regarderais mardi parce que je suis en week end ce soir (la chance je sais)
ce que j'avais vu avec la macro cet après midi, c'est que ça sortait une "liste" mais pas sous forme de tableau et que donc le TCD ne pouvait pas être mis à jour.
j'ai un peu avancé aujourd'hui en faisant un tableau "date" du 01/01/2019 jusqu'au 31/12/19 avec les mois dans une autre colonne. j'ai fait une liaison entre "mois" de ce tableau avec"mois" du tableau de saisi.
j'ai ainsi pu obtenir un TCD avec tous les mois et tous les jours affichés.
Par contre je bloque toujours sur la façon d'afficher une barre sur plusieurs jours d'affilés...

Je reviens Mardi, mais si d'autres solutions apparaissent, je suis preneur.

Bonne soirée et bon week end!
 
Haut Bas