Graphique croisé dynamique

Re

Est-il possible d'avoir un petit résumé de comment cela a été fait? Sinon pas de soucis

Je vais tenter de t'expliquer par étapes:

etape1

L'initialisation: étape qui contient déjà pas mal de choses à mettre au clair:

'Initialisations
ouvrier = Range("b1")
If ouvrier = "" Then Exit Sub
Dim TabChantier As Variant, TabSemaines As Variant, TabHeures As Variant
Dim CollecSem As New Collection, CollecSomme As New Collection
Dim forme As Shape
Dim cel As Range

colonnes = Array(1, 12, 17, 20, 25, 30, 33)
With Feuil1
    der_lig = .Range("a14").End(xlDown).Row
    tableau = .Range("j14", "ao" & der_lig)
End With
ReDim TabChantier(LBound(tableau, 1) To UBound(tableau, 1), 1 To 2) 'semaine, heures

J'utilise d'abord une variable pour stocker le code de l'ouvrier que l'on va chercher, ça m'évite d'avoir de nouveau à aller chercher la valeur dans la cellule à chaque fois que j'en ai besoin, ce qui permet d'accélérer le code.

Ensuite j'initialise pas mal de tableaux, TabChantier,TabSemaines,TabHeures. TabChantier va stocker deux informations par ligne, les semaines travaillées, séparées par une virgule, et le nombres d'heures travaillées, séparées par des virgules, je réutilise ces informations lors de l'ajout des formes. TabSemaines et TabHeures vont permettre de stocker ces informations séparées sur différentes lignes, 7,10,12 c'est pas pratique à utiliser, on va plutôt stocker :

7

10

12

et ensuite simplement changer de ligne dans le tableau.

Les collections vont contenir d'autres informations, l'avantage d'une collection, c'est que je peux appeler la valeur que je veux avec une clé, sans avoir à savoir à quelle ligne se situe la valeur, et la collection est de taille variable.

CollecSem va stocker le décallage progressif de la position des formes sur la semaine, CollecSomme va stocker la sommes des heures effectuées sur la semaine (qui permet de dire si on met en rouge ou non la forme qu'on ajoute).

colonnes va stocker les colonnes où se situent les codes des ouvriers, il me suffit ensuite de changer de ligne de tableau pour passer à la colonne suivante.

j'enregistre tout ce qui se trouve ensuite entre la cellule a14 et la cellule en colonne ao de la dernière ligne du tableau, ça permet de déclarer un tableau avec ses dimensions, et d'enregistrer les informations dedans, ça fait d'une pierre de coup et est très rapide à écrire.

L'instruction redim permet ensuite de dimensionner le tableau TabChantier par rapport au nombre de chantiers présents dans le tableau qui s'appelle "tableau"

etape 2

Initialisation du tableau TabChantier:

'Enregistrement dans TabChantier des heures et des semaines
For i = LBound(tableau, 1) To UBound(tableau, 1)
    For j = LBound(colonnes, 1) To UBound(colonnes, 1) - 1
        col_dep = colonnes(j)
        col_fin = colonnes(j + 1) - 1
        If tableau(i, col_dep) = ouvrier Then
            For k = col_dep + 1 To col_fin Step 2
                semaine = tableau(i, k)
                heures = tableau(i, k + 1)

                If semaine <> "" And heures <> "" Then
                    TabChantier(i, 1) = TabChantier(i, 1) & IIf(TabChantier(i, 1) = "", "", ",") & semaine
                    TabChantier(i, 2) = TabChantier(i, 2) & IIf(TabChantier(i, 2) = "", "", ",") & heures
                End If
            Next k
        End If
    Next j
Next i

Déjà première chose, on a 3 boucles imbriquées

une boucle sur toutes les lignes du tableau "tableau" (for i)

une boucle sur toutes les lignes du tableau "colonnes" (sauf la dernière qui sert juste au calcul) (for j)

une boucle sur toutes les colonnes de la section que l'on fait (finitions, chaudronnerie etc...) (for k), avec un step 2 qui permet de passer directement à la colonne suivant qui contient un numéro de semaine.

j'enregistre les valeurs de colonnes dans des variables pour ensuite les utiliser dans mes calculs et tests.

Dans la boucle k:

j'enregistre le numéro de semaine et le nombre d'heures dans des variables, puis je regarde si ces deux variables sont vides ou non, si elles sont remplies, alors j'enregistre ces valeurs dans le tableau "TabChantier", mais d'une façon un peu particulière, je teste au milieu via un IIf, si le la case du tableau dans laquelle on veut écrire est vide ou non, si elle est remplie on rajoute un séparateur, la virgule, sinon on ne met rien, et on ajoute la semaine, ou l'heure, en fonction de la colonne du tableau dans laquelle on enregistre l'information, colonne 1: semaines, 2: heures.

etape 3

Suppression des formes déjà présentes

For Each forme In Feuil2.Shapes
    If Right(forme.Name, 5) = "gantt" Then
        forme.Delete
    End If
Next forme

Pour ajouter nos formes, ce serait bien de déjà nettoyer un peu la feuille, du coup j'utilise une boucle un peu spéciale, for each, qui boucle sur tous les objets présents dans un groupe d'objet, que l'on appelera... collection

Ici je boucle sur tous les objets présents dans la collection des formes (Shapes)

et si les 5 dernière lettres du nom de la forme sont "gantt", alors je supprime la forme (et oui, je ne veux pas supprimer le bouton qui est une forme aussi).

etape 4

Ajout de formes:

Range("a4", Range("a4").End(xlDown)) = ""
On Error Resume Next
'Parcours du tableau des chantiers
For i = LBound(TabChantier, 1) To UBound(TabChantier, 1)
    lig = 4 + i - 1
    Range("a" & lig) = "chantier n°" & i
    If Not TabChantier(i, 1) = "" Then
        TabSemaines = Split(TabChantier(i, 1), ",")
        TabHeures = Split(TabChantier(i, 2), ",")

        'ajout forme
        For h = LBound(TabSemaines, 1) To UBound(TabSemaines, 1)
            'calcul des valeurs de variables
            somme = 0
            somme = CollecSomme(CStr(TabSemaines(h)))
            dec_gauche = 0
            dec_gauche = CollecSem(CStr(TabSemaines(h)))
            If somme + CDbl(TabHeures(h)) <= 39 Then
                couleur = RGB(0, 0, 200)
            Else
                couleur = RGB(200, 0, 0)
            End If
            col = Range("b3", "ba3").Find(TabSemaines(h), lookat:=xlWhole).Column
            Set cel = Cells(lig, col)
            pos_gauche = cel.Left + dec_gauche
            pos_haut = cel.Top
            hauteur = cel.Height
            largeur = WorksheetFunction.Min(cel.Width - dec_gauche, cel.Width * (TabHeures(h) / 39))

            'gestion des collections
            CollecSem.Remove (CStr(TabSemaines(h)))
            CollecSem.Add dec_gauche + largeur, CStr(TabSemaines(h))
            CollecSomme.Remove (CStr(TabSemaines(h)))
            CollecSomme.Add somme + CDbl(TabHeures(h)), CStr(TabSemaines(h))

            'gestion de la forme
            Set cel = Nothing
            Set forme = Feuil2.Shapes.AddShape(msoShapeRectangle, pos_gauche, pos_haut, largeur, hauteur)
            forme.Line.Visible = msoFalse
            forme.Name = forme.Name & "gantt"
            forme.Fill.ForeColor.RGB = couleur
            Set forme = Nothing
        Next h
    End If
Next i

Là on part sur l'étape la plus longue à coder, celle qui demande de bien faire attention à ce qu'on manipule.

D'abord, on boucle sur toutes les lignes du tableau qui contient les chantiers, avec leurs semaines, et leurs heures, séparées par des virgules.

j'enregistre la ligne à laquelle on est dans la feuille dans une variable pour ne pas refaire le calcul à chaque fois que j'en ai besoin.

Range("a" & lig) = "chantier n°" & i

permet d'écrire chantier n°1,2,3 etc... comme je ne savais pas où trouver le nom du chantier dans ta feuille, j'ai mis ça

ensuite je teste si la ligne du tableau contient bien quelque chose, sinon pas la peine de continuer, on aura aucune forme à ajouter.

Si elle contient quelque chose, alors on enregistre les diférentes semaines et heures dans les tableaux "TabSemaines" et "TabHeures" dont on a parlé au début.

Prochaine boucle, celle sur toutes les semaines qui sont travaillées dans le chantier, Pour chaque semaine, on va voir quelle position doit prendre la forme, quelles doivent être ses dimensions, et quelle doit être sa couleur.

pour commencer, j'initialise les variables somme et dec_gauche, je les mets d'abord à 0, car si il n'y a encore aucune forme qui n'a été ajoutée à la semaine, les lignes CollecSomme et CollecSem ne changeront pas la valeur de la variable.

Ensuite j'attribue la valeur de la couleur via un test, si le nombre d'heures déjà effectuées dans la semaine (somme) + le nombre d'heures qu'on veut ajouter ne dépassent pas 39 heures, on met la couleur en bleu, sinon en rouge.

J'enregistre ensuite la valeur de la colonne où se trouve la semaine que je cherche à faire, j'ai utilisé un Find mais je suis entrain de me dire que j'aurais simplement pu calculer... tant pis :p

Pour éviter de toujours appeler cells(lig,col) quand je veux utiliser la cellule à l'intersection du chantier et de la semaine, j'enregistre la cellule dans une variable cel, quand on enregistre un objet, on utilise l'instruction set.

Il me reste à m'occuper des positions et dimensions de la forme:

pos_gauche: simplement la position gauche de la cellule, et on y ajoute le décalage gauche, qui vient de la collection chargée de décaler la position de la forme par rapport aux formes déjà ajoutées à la semaine.

pos_haut, simplement la position haute de la cellule, cel.top (propriété top de l'objet range appellé cel).

hauteur, simplement la propriété hauteur de la cellule

largeur:

largeur = WorksheetFunction.Min(cel.Width - dec_gauche, cel.Width * (TabHeures(h) / 39))

J'utilise worksheetfunction.min, qui permet d'appeler une fonction de feuille qui s'appelle MIN, elle renvoie la valeur minimale parmis une liste de valeurs, ici je lui donne la largeur maximale qu'on peut donner à la forme : cel.Width - dec_gauche, la largeur de la cellule à laquelle on enlève le décalage de la position (forcément, si la forme ne peut être positionnée qu'à partir de la moitié de la cellule, il ne lui reste que la moitié de la cellule de disponible en largeur).

La deuxième valeur de la fonction c'est : cel.Width * (TabHeures(h) / 39)

autrement dis, la largeur totale de la cellule à laquelle on multiplie un pourcentage, ce pourcentage c'est la part que représente le nombre d'heures travaillées pour ce chantier, sur 39 heures (qui est la largeur total de la cellule), si tu travailles 19.5 heures, tu seras à la moitié de la cellule

Il ne reste ensuite plus qu'à ajouter notre forme!

Set cel = Nothing

permet de libérer de la mémoire en arrêtant de garder en mémoire l'objet, idem pour set forme = nothing

Set forme = Feuil2.Shapes.AddShape(msoShapeRectangle, pos_gauche, pos_haut, largeur, hauteur)

Cette ligne sert à deux choses, enregistrer la forme que l'on va ajouter dans une variable, comme ça on va directement pouvoir travailler avec la forme en appelant le nom de la variable, et ajouter la forme via

Feuil2.Shapes.AddShape(msoShapeRectangle, pos_gauche, pos_haut, largeur, hauteur)

Et oui, c'est pour ça que j'ai tout enregistré dans des variables, pour que ce soit plus lisible et plus simple à modifier, ici on a que des variables, on ajoute une forme à la feuille "Feuil2" qui est de type msoshaperectangle, à la position gauche : pos_gauche, etc etc...

Petite chose dont je n'ai pas encore parlé:

            'gestion des collections
            CollecSem.Remove (CStr(TabSemaines(h)))
            CollecSem.Add dec_gauche + largeur, CStr(TabSemaines(h))
            CollecSomme.Remove (CStr(TabSemaines(h)))
            CollecSomme.Add somme + CDbl(TabHeures(h)), CStr(TabSemaines(h))

Ici on va enlever l'élément de la collection CollecSem pour le remplacer par sa nouvelle valeur, je fais ça car incrémenter une valeur qu'on est pas sûr de pouvoir retourner, ça risque de tout simplement faire un plantage, qui au final n'ajoutera rien à la collection, ici je me fiche de si la valeur est présente ou non, car j'ai écrit un

On Error Resume Next

au tout début de la boucle For i, du coup en cas d'erreur, je passe simplement à la prochaine ligne, qui ajouter la valeur à la collection

C'est tout pour l'explication du code, si tu as besoin de plus d'explications, il faudra me poser des questions précises


Questions auxquelles je peux répondre à présent:

Aussi, est-il possible de décaler les barres colorées lorsque l'ouvrier prends du retard?

J'ai beaucoup de mal à voir comment on pourrait faire ça... Je doute qu'on y arrivera, peut-être qu'avec un schéma j'aurai une idée, comme l'image de ce matin, mais pas gagné d'avance...


Dernière petite question, je vais devoir attribué le vrai nom pour des chantiers dans la feuille "gantt"? Comment faire ? Est-ce directement dans le programme? Cela-va t-il perturbé lorsque je compléterait la feuille "Feuille 1"?

Du coup, oui c'est directement dans le programme, soit tu mets toi même le nom des chantiers, et dans ce cas tu enlèves la ligne qui écrit sur la colonne A dans le programme, soit c'est dans la feuille 1 et dans ce cas il faudra modifier aussi le programme

Attention, la ligne de code

Range("a4", Range("a4").End(xlDown)) = ""

qui se trouve pile avant la boucle, permet de supprimer tout ce qui se trouve après la ligne 4 dans la colonne A.

Re

J'ai modifié le message précédent pour compléter mes explications, je souhaite aussi répondre à une question que tu as posé mais à laquelle j'ai oublié de répondre, c'est possible d'écrire dans les formes, mais ce sera illisible dans certains cas, surtout quand tu as des barres qui sont très fines car très peu d'heures sont travaillées dessus...

Autre précision, dès que la somme des tâches faites sur une semaine dépasse 39, les tâches suivantes qui pourraient être ajoutées à la semaine ont une épaisseur de 0, tu ne les verras pas du coup, je ne sais pas si c'est un problème

Re,

J'ai essayé de comprendre le programme, mais ça commence vraiment à devenir compliqué

Merci tout d'abord d'avoir prit le temps de me faire un petit résumé.

Je vous met en photo comment je voyais la chose. J'ai juste repris l'exemple que je vous ai fourni et je l'ai illustrer. Dites moi si vous avez besoin d'informations complémentaires.

Si j'ai bien compris je doit réécrire tous les noms des chantiers dans le programme? Je ne peux pas directement sélectionner ceux dans le tableau ? (j'appelle ici nom des chantiers la colonne A et B de la feuille n°1) .

D'accord oui du coup ça devient inutile de rajouter les heures si on ne les voient pas.

image gantt 3

Re

D'accord pour les noms de chantiers, j'ai modifié rapidement le code et maintenant ça prendra les colonnes A et B pour le nom du chantier.

Pour le graphique que tu me montres... ça va compliquer le codage, mais je pense que c'est possible, par contre tu comptes inscrire où les retards? parce que je ne vois pas encore d'endroit dans le planning qui puisse contenir ça...

Re

Niquel c'est exactement ce que je comptais faire, merci ! !

C'est la le problème.. L'idéal serait de faire apparaître un message sur l'écran (dans "gantt") lorsque le chantier à du retard avec le nombre d'heures (retardées). Mais je n'ai aucune idée si cela est réalisable ou non

Re

Gérer un ajout de ligne pour le chantier qui contiendrait le nombre d'heures de retard, je peux, ou encore, stocker cette information en fin de tableau ou en début de tableau, je peux aussi, mais ça veut dire que tu renseigneras directement le retard dans la feuille gantt?

Je pensais qu'on ferait ça plus proprement

EDIT:

mauvaise idée, le mieux serait sûrement d'enregistrer les retards quelque part, sur une nouvelle feuille, on renseigne : chantier, ouvrier, retard (heures)

Re

Je n'ai pas trouvé d'autres idées que de faire apparaître un message à l'écran en indiquant qu'il y a dépassement et en incluant le total d'heures dépassées. Après, si tu as une autre solution plus "propre" je suis carrément preneur !

Si on consigne les informations dans une feuille, je dois pouvoir faire quelque chose après pour y faire apparaître, on a un code couleur déjà : bleu = normal, rouge = 39 heures dépassées, on peut ajouter noir = retard par exemple, et faire apparaître la valeur dans la case de couleur. Il faudrait ensuite que je gère le dépassement d'heures de la semaine, élargir la colonne pour prendre en compte les heures sup, mais montrer qu'on a dépasser les 39 heures et à partir d'où (ligne plus couleur rouge), pour le retard, décaller et mettre en noir par exemple...

EDIT:

Quand on est à plus de 39heures dans la semaine, on affiche quoi au final?

Re,

Si tu as du temps et de la patience, je suis partant, sinon ce n'est pas réellement un gros soucis. Déjà avec le code couleur bleu/rouge on remarque assez bien que les 39h ont été dépassées.

Mais je laisse place a ton imagination

au-delà de l'imagination, c'est surtout le fait de ne pas pouvoir mesurer visuellement à quel point les 39 heures sont dépassées, et le fait que les tâches qui suivent ne s'affichent pas car on a déjà pris toute la largeur, c'est tout ça que j'aimerais rendre plus propre au final

Ah oui je vois, ça risque d'être problématique si plus rien ne rentre dans le tableau

Si vous avez du temps, n’hésitez pas à remettre "en place"

Re

Alors j'ai fait un petit schéma histoire d'expliquer l'idée:

exemple planning

Pour la semaine 1, on a déjà pas mal de tâches, mais, on fait pas mal d'heures la semaine 1 par exemple, sur le chantier n°6, sur cette même semaine, on fait encore des heures sur le chantier n°7, on passe en rouge, un trait plein noir est rajouté pour montrer où se trouvaient les 39 heures sur la largeur de la cellule, on dépasse donc bien les 39h, et on voit de combien, en plus de ça, on a pris du retard sur le chantier n°7, du coup, on a un carré noir qui vient se greffer après les heures supplémentaires, et encore une fois, on peut évaluer la durée, on a pas mal de retard

Qu'en penses-tu? Du coup si tu commences un chantier semaine 2 avec un carré noir, tu sais que le retard vient de la semaine précédente!

Re

Alors le principe est très bien, mais je ne suis pas sur du tout d'avoir compris comment cela fonctionne.

Pour résumer ce que j'ai compris:

En bleu on est toujours bon, pas d'heures supplémentaires

En rouge, problème, on a dépassé les 39h. Ou alors pas du tout et tu as changé les codes couleurs.

Pour le trait noir, il représente la fin de la semaine 1 en fait?

Le trait pointillé et la barre noire correspondent donc au début (en comptabilisant le retard prit sur la semaine 1)?

Dis moi si c'est à peux prêt ça ou si je suis complètement à la ramasse

Merci encore pour le temps et la patience accordé à mon sujet, ça fait vraiment plaisir de voir qu'il reste des personnes dévouées et à l'écoute sur certains forums

Bonjour

Je vais voir pour répondre à tes questions

Re

En bleu on est toujours bon, pas d'heures supplémentaires

C'est ça


En rouge, problème, on a dépassé les 39h. Ou alors pas du tout et tu as changé les codes couleurs.

Non non, c'est bien ça aussi, on passe la barre en rouge dès qu'on dépasse les 39h travaillées sur la semaine


Pour le trait noir, il représente la fin de la semaine 1 en fait?

Le trait pointillé et la barre noire correspondent donc au début (en comptabilisant le retard prit sur la semaine 1)?

Alors... pas exactement non, la fin de la semaine 1 et le début de la semaine 2 est représenté par le trait en pointillé, donc là où finit la barre rouge, et où commence la barre noire. La logique est d'allonger la cellule pour prendre toutes les heures réalisées, dont les heures supplémentaires, mais en ayant un repère pour savoir où se situent les 39 heures, indiquées par la barre noire, comme ça, on peut voir l'espace entre la barre noire et la barre de fin de semaine pour jauger visuellement le nombre d'heures supplémentaires faites. Les heures supplémentaires seront donc ajoutées à la semaine, mais en mettant en rouge les blocs, et en indiquant de combien on dépasse les 39h.

La barre noire représente bien le retard, je ne prends pas le retard comme étant des heures supplémentaires, donc si elles dépassent les 39 heures de la semaine, elles débordent sur la semaine suivante, dans l'exemple, on était déjà en heures supplémentaires, du coup j'ai tout passé à la semaine suivante

Bonjour Ausecour,

Merci pour les explications ! Oui effectivement je comprend mieux maintenant

En fait, ce qui se situe derrière la barre noire verticale c'est le retard qu'on peux constater visuellement. C'est pour ça que les pointillés représentent la fin de la S1 ainsi que le début de la S2, mais décalés. Si il n'y a pas de retard, il n'y a pas de barre noire et les cellules ne sont pas "agrandies" si j'ai bien compris

Rebonjour

Toujours pas ça malheureusement

Ce qui se situe derrière la barre noire verticale, ce sont les heures supplémentaires de la semaine (qui ne sont pas du retard) le retard n'allongera jamais la cellule, mais débordera sur la semaine suivante.

J'avais compris que les heures supplémentaires étaient voulues, et que du coup, elles ne mettaient pas le projet en retard (d'où le fait que les barres rouge ne décalent pas les heures de la semaine suivant). C'est bien ça?

Si besoin, je peux te fournir un autre exemple!

Re,

Décidément...

D'accord, oui cette fois c'est bon j'ai compris !

En fait si, il faudrait que lorsque le chantier 1 par exemple prend du retard , le chantier n°2 commence la ou le chantier 1 c'est terminé (en comptant le retard).

Je ne sais pas si je suis assez clair..

Néanmoins, la solution que tu me proposes actuellement peut être acceptée également.

Peux-tu me joindre les deux fichiers (celui actuel) et celui que tu va réaliser quand tu auras "mis tous en place" afin d'avoir un exemple des deux solutions? Merci

Re,

Voici un exemple qui te parlera peut-être plus

exemple planning

Dans la semaine 1, on a un peu de retard sur le chantier 2, mais pas de soucis, on a toujours la possibilité de faire des heures sur la semaine, du coup ça ne décale pas la semaine 2.

Sur la semaine 2 par contre, on avait déjà pas mal d'heures entre les chantier 3 et 5, et on a pris un sacré retard sur le chantier 5, du coup ça décale les heures de la semaine 3, mais pas trop de soucis, on avait de la marge la semaine 3 aussi, pas besoin de faire d'heures supplémentaires. La semaine 4 est chômée apparemment.

La semaine 5, on travaille sur 3 chantiers, et l'ouvrier va faire tellement d'heures que ça va lui faire quelques heures supplémentaires, mais pas de raison de décaler la semaine 6, c'était prévu et on va rémunérer l'ouvrier.

La semaine 6, ça se gâte un peu, on travaille aussi sur 3 chantier, mais on a pris du retard alors qu'on avait déjà 39 heures à faire, ici j'ai décidé de passer le chantier n°10 en heures supplémentaires à cause du retard, mais pas sûr qu'on fasse ça, si c'est du retard, il faudrait sûrement que je passe une parties des heures comme étant du retard sur la semaine suivante...

Peut-être comme ça:

exemple planning2

ça serait sûrement plus logique, c'est un cas un peu compliqué sur lequel il faut que l'on voit ce qu'on va faire... Après tout, on a pas déclaré de retard sur le chantier 10, du coup est ce qu'on fait plutôt comme la première image, ou la deuxième?

Eventuellement, on peut passer pour le moment ces heures comme du retard, éventuellement, si tu enlèves le retard sur le chantier 8 pour le passer en heures en plus passées dessus, on comptera alors les heures du chantier 10 en heures supplémentaires. Qu'en penses-tu?

Re,

Je suis désolé mais je n'arrive vraiment pas a comprendre à quoi correspond la barre noire... Par exemple pour la semaine 1 le début de la barre noire ou la fin de la barre bleue correspond à la fin du chantier n°2 théorique (sans retard)? Et la barre noire constitue le retard. La longueur de cette barre est proportionnelle au nombre d'heures (retard)? Et la fin de cette barre noire correspond à la fin "réelle" du chantier n°2?

Pour le reste il me semble avoir compris. En fait c'est juste cette histoire de début et fin de bande noire que j'ai du mal à assimiler.

Effectivement, la solution 2 me semple plus logique, car on ne peux pas faire un chantier complet en heures supplémentaires, ce n'est pas possible. Il faudra donc le passé en retard.

J'ai peux être une information complémentaire qui peux vous aider.

En fait, chaque chantier à un temps spécifique (voir fichier tableau temps production équipements). Je m'explique par exemple dans le planning test 2 final, dans la feuille 1, la colonne F et H correspondent ) ces équipements. Par exemple, lorsqu'il y a marqué PK... cela correspond a une grue dans le tableau temps production équipement. S21 = bras SLR, T22VA = bras standard, T7S = T10, P24...= Bras standard.

Il faudrait qu'on arrive à se fixer une limite de temps (en fonction du type de chantier grue, bras etc..) et faire débuter le prochain chantier à la fin du retard du premier chantier.

C'est surement pas très claire, mais as tu compris ce que je veux essayer de dire?

Re

[/Je suis désolé mais je n'arrive vraiment pas a comprendre à quoi correspond la barre noire... Par exemple pour la semaine 1 le début de la barre noire ou la fin de la barre bleue correspond à la fin du chantier n°2 théorique (sans retard)? Et la barre noire constitue le retard. La longueur de cette barre est proportionnelle au nombre d'heures (retard)? Et la fin de cette barre noire correspond à la fin "réelle" du chantier n°2? i]

Il faudrait qu'on arrive à se fixer une limite de temps (en fonction du type de chantier grue, bras etc..) et faire débuter le prochain chantier à la fin du retard du premier chantier.

C'est déjà ce qu'on fait sur mon exemple non?

Comme je déroule le tableau chantier par chantier, si le premier chantier prend du retard, ce sont les suivants qui vont être décallés, je ne sais pas comment je vais coder ça mais... normalement on décalera bien le début des chantiers suivant par rapport au retard pris dans le premier

Rechercher des sujets similaires à "graphique croise dynamique"