Planning Activités

Bonjour à tous,

De retour pour de nouveau vous demander votre aide.

Il y a 1 gros mois, j'ai demandé votre aide pour faire une macro afin de déterminer en fonction de plusieurs paramètres, les semaines associés a de diverses maintenances.

Aujourd'hui, après avoir bien rodé la macro (dalleur Merci à M. Banzai64 pour son aide précieuse..), je voudrais optimiser le tout afin de rendre cette planification complètement automatique.

En effet, actuellement, pour chaque maintenance, la macro me propose des semaines de réalisation (Semaine proposée 1 ; Semaine proposée 2 ; ... ).

En fonction des semaines proposées, je coloris les semaines du planning par rapport aux semaines proposées.

(Si pour la maintenance moteur 1, la macro me propose semaine 22, semaine 26 et semaine 30 de l'année 2015,

alors je colorie les cases de la semaine 22, 26 et 30).

C'est cette coloration que je désirs faire automatiquement.

Pour info, le sujet sur ce forum concernant l'aide pour me trouver les semaines associées aux maintenance et ici :

https://forum.excel-pratique.com/excel/calage-d-activites-t56564.html

J'ai bien sur modifié cette macro pour l'adapter à mes fichiers.

Normalement elle ne se trouve pas dans le fichier que je vous joint, mais si vous en avez besoin,

je l'ai mise dans le module 1.

Enfaite, les résultats de cette première macro sont triés (via une autre macro) et rangés dans les feuilles TR1&0 et TR2&9

du fichier en pièce jointe.

En feuille "Planning" on retrouve toute les maintenances contenu sur les 2 premières feuilles (colonne A à F),

plus un planning (2015).

Mon souhait est donc d'avoir un petit bouton magique, qui me colorierai les cases des différentes semaines proposées pour

chaque maintenance. (Voir exemple Ligne 8 de la feuille "Planning" correspondant à la ligne 2 de la feuille "TR1&0").

J'ai essayé de commencer le début (en Module 2), mais pas facile..

En effet les semaines proposées peuvent-être contenu dans l'année 2015 et/ou 2016 et/ou 2017...

Le planning que j'ai fait n'est peut-être pas adapté, il peut être modifié à souhait..

NOTA : Ne pas prendre en compte les maintenances dont les semaines proposées sont notés

"a faire manuellement" ou "Activité inconnue".

NOTA 2 : Afin de chercher les bonnes maintenances entre chaque feuille, je recherche sur le nom de la

maintenance à faire (Colonne C) et une fois le nom trouvé je regarde si les dates correspondent

(H et I des deux première feuilles, avec E et F de la feuille Planning).

D'avance merci pour votre aide,

Tchio !

Bonjour

A tester

Bonjour,

Waouh ! Magnifique !

3h12 du matin .. mdr C'est pas moi qui vous à empêché de dormir ? ^^

Magnifique, j'essaye de décrypter la macro ce soir, pour essayer de l'adapter, afin quelle marche aussi pour les semaines des années 2016.. 2017...

Soit en mettant deux années à la suite, pour au moins avoir deux ans d’affiler.

Par la suite, pour les années future je virerais année par année.

Par exemple la je met Année 2015 et à la suite l'année 2016.

Quand je serais en fin d'année 2015 je mettrais 2016 et 2017...

Je regarde cela et je reviens si besoin !

Merci beaucoup !

Tchio !

Bonjour

Attention cette macro "vire" tout ce qui n'est pas année 2015, si tu veux avoir un planning sur plus d'une année il faudra modifier la macro

Si des difficultés joins le fichier modifié

Bonjour,

J'ai essayé de décrypter votre macro, j'ai donc mis des commentaires devant chaque ligne du programme..

Si vous voyez des erreurs de compréhension, n'hésitez pas à les modifier !

J'ai ensuite essayer de faire quelque chose afin de gérer les différentes années.

J'ai eu l'idée de gérer ça avec un Input box.

En effet, je rentrerais l'année (Exemple 2015) et la variable "Année" venant de l'Input box sera mise à cette endroit :

         If InStr(Ws(I).Cells(Cel.Row, Colonne), "()", "(Année)") > 0 Then

Sauf que cela ne marche pas !

J'ai essayé plusieurs combinaisons, mais sans succès..

Je fais donc une nouvelle fois appel à votre aide

Merci d'avance !

Tchio!

Bonjour

A vérifier

Comme d'habitude, ça marche nickel !

Mais pourquoi quand j'avais modifié la ligne par celle-ci :

 
Dim Année As Integer
 If InStr(Ws(I).Cells(Cel.Row, Colonne), "(Année)") > 0 Then  

ça n'avais pas marché ?

Merci,

Tchio !

Bonjour

Non tu l'avais modifiée comme ceci

If InStr(Ws(I).Cells(Cel.Row, Colonne),"()", "(Année)")> 0 Then

Mais surtout tu cherchais le texte "(Année)" alors qu'il fallait chercher le texte "(" & Année & ")" qui n'est pas pareil

Oui dans la version 002 du fichié je l'avais effectivement écrit comme ça,

mais avant j'avais aussi essayé de l'écrire comme ça :

If InStr(Ws(I).Cells(Cel.Row, Colonne), "(Année)") > 0 Then 

Enfaite j'avais tout simplement reprit votre ligne :

    If InStr(Ws(I).Cells(Cel.Row, Colonne), "(2015)") > 0 Then

et remplacé le 2015 par Année, et je ne comprend pas pourquoi ça ne marcher pas..

J'ai ensuite essayé d'autre "truc" et j'ai fini par mettre ce que j'ai mis dans la version 002.

Merci,

Tchio !

Bonjour

Dans ce que j'avais écrit "(2015)" je faisais la recherche du texte "(2015)"

Dans ce que tu as écris tu fais la recherche du texte "(Année)" alors qu'il faut faire la recherche du texte "(" & Année & ")"

Alors si Année vaut 2015 ou 2016 ou 2017 ou .... tu recherches toujours le texte "(Année)" alors qu'il faudrait rechercher (si on remplace Année par 2015 ) "(" & 2015 & ")"

Rechercher des sujets similaires à "planning activites"