Comment créer un planning avec excel vba [Fermé]

Signaler
Messages postés
26
Date d'inscription
vendredi 16 avril 2010
Statut
Membre
Dernière intervention
17 mai 2010
-
 Sanka -
Salut mes amis,

je cherche un exemple de code qui permet la création d'un planning automatique (de production par exemple ) en utilisant VBA sur excel.
Merci d'avance.

Cordialement
Yassine

7 réponses

Messages postés
26
Date d'inscription
vendredi 16 avril 2010
Statut
Membre
Dernière intervention
17 mai 2010
10
salut mon ami,

mon problème c'est determiner la date de début de chaque tâche. En effet, j'ai toutes les durées d'exécution de chacune des tâches mais j'ai seulement la date de lancement des ordres de fabrications ( des articles ). Pour cela j'ai créée un algorithme qui permet l'ordonnancement de ces articles c'est à dire l'affectation des articles sur chaque machine dont le but est minimiser la durée totale des tâches. Alors maintenant j'ai besoin de tracer le diagramme de Gant.
Merci mon ami pour votre effort mais est ce que tu as une solution de ce genre de problème et merci une autre fois.
6
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
41
Date d'inscription
mercredi 21 avril 2010
Statut
Membre
Dernière intervention
21 avril 2015
10
Pour ton besoin, j'ai regardé rapidement sur le net ce qu'il existait en macro pour faire du MRP, et j'ai trouvé 2 liens :

http://olivier.coma.free.fr/projets/mrp.pdf
http://www.webandmacros.net/download-excel-macros.asp

Ça devrait pouvoir t'aider.

Mais honnêtement, si tu veux faire de la gestion de production, passe à la GPAO, ça sera plus adapté qu'Excel.

Bon courage !
Messages postés
41
Date d'inscription
mercredi 21 avril 2010
Statut
Membre
Dernière intervention
21 avril 2015
10
Bonjour,

Si tu as déjà toutes les dates et que tu cherches un affichage style Gantt, tu n'as pas besoin de faire de macro, la mise en forme conditionnelle suffit (je l'ai moi-même fait plusieurs fois).

Tu listes tes tâches, tu te crées ton calendrier sur la première ligne (fais de toutes petites colonnes), tu fais ta mise en forme conditionnelle en testant case par case si la date de la colonne est comprise entre le début et la fin de ta tâche, qui est sur la ligne.

Tu fais ça pour une case, tu reproduis la mise en forme partout et c'est parti. En plus, comme ce n'est que de la mise en forme, la mise à jour du planning est automatique.

J'espère que ça t'aide, sinon précise un peu plus ton besoin.
Messages postés
26
Date d'inscription
vendredi 16 avril 2010
Statut
Membre
Dernière intervention
17 mai 2010
10
Merci mon ami pour votre effort.
Messages postés
26
Date d'inscription
vendredi 16 avril 2010
Statut
Membre
Dernière intervention
17 mai 2010
10
pas nécessairement de production juste un exemple pour m'aider de créer un planning avec VBA sur Excel.
Messages postés
1
Date d'inscription
mercredi 23 octobre 2013
Statut
Membre
Dernière intervention
23 octobre 2013

Bonjour,

J'ai un problème similaire. J'ai trouvé une formule me permettant de faire du formattage conditionnel, cependant compte tenu du nombre important de lignes et de colonnes cela alourdit considérablement le document et ralentit toutes les actions (malgré que ça soit excel 2010)...

Dans la colonne A, il y a les éléments pour lesquels j'ai une date de début (colonne B) et une date de fin (colonne C) renseignées.
J'ai un calendrier allant de janvier 2012 (colonne D) à décembre 2015 (colonne APE).

Quelle macro peut me permettre d'appliquer la formule pour toutes les dates du calendrier et pour toutes les lignes contenant des informations dans les colonnes A, en ne gardant que le résultat afin de ne pas alourdir ?

Merci pour votre aide.
Pas besoin de macro.
Il faut que ton planning soit en date au format date.
Ensuite avec une mise en forme conditionnelle du type :

= ET($B1>=D1;$C1<=D1)

Et tu applique ce format à toutes les cellules de ton callendrier.

Si tu veux une équivalence en macro ce serait:

for each cell in selection

if cell.value >= range("B" & (cell.row)).value and cell.value <= range("C" & (cell.row)).value

call format_tache()

endif

next


avant d'éxécuter tu selectionne la plage et pour format_tache tu enregistre une macro qui te met en forme la cellule.