Microsoft 365 VBA Optimasation charge travail

Rhm93

XLDnaute Nouveau
Bonjour dans le cadre d'un projet en vba je dois lisser une charge de travail. La charge de travail max par semaine est de 105 Heures. Si cette dernière est dépassée il faut que la tâche soit reporté à la semaine prochaine. Mais je rencontre un problème lorsqu'il faut décaler les tâches effectués à la semaine prochaine (une tâche effectuée est indiquée par "X") quelqu'un pourrais m'aider svp ? Je vous mets ci-joint le fichier.
Merci d'avance
 

Pièces jointes

  • Exemple.xlsm
    315.6 KB · Affichages: 17

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Rhm,
Un essai en PJ avec :
Code:
Sub Compte()
DerLig = Range("G65500").End(xlUp).Row
Range("H2:L" & DerLig).ClearContents
Colonne = 8 ' Première colonne où on met un X
Somme = 0   ' Somme des heures
For L = 2 To DerLig
    Somme = Somme + Cells(L, "G")
    If Somme <= 105 Then
        Cells(L, Colonne) = "X"
    Else                        ' Si somme >105
        Somme = 5               ' On remet le compte d'heures à 5
        Colonne = Colonne + 1   ' On passe à la colonne suivante
        Cells(L, Colonne) = "X"
    End If
Next L
End Sub
 

Pièces jointes

  • Exemple (3).xlsm
    323.1 KB · Affichages: 5

Rhm93

XLDnaute Nouveau
Je vous remercie. Cela m'aide beaucoup mais j'ai une seconde question je fais cela car cela doit me permettre le lissage de la charge de travail selon une périodicité ainsi j'aimerai savoir comment faire en plus de ce programme pour prendre en compte une périodicité (qui peut être soit 1 qui represente une fois par semaine, 2 pour Bi-hebdo, 4 pour mensuel, 13 pour trimestriel, 26 pour bi-annuel, 52 pour annuel.
 

Pièces jointes

  • Exemple V2.xlsm
    320.7 KB · Affichages: 19

Rhm93

XLDnaute Nouveau
Nan la valeur 105 ne change ce qui change ce sont les « X » en fonction de leur périodicité
Exemple si périodicité =1 on a X 52 sur la ligne si périodicité = 2 on aura 26 fois X sur la ligne tout cela en respectant la valeur 105 par colonne
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 941
Membres
101 848
dernier inscrit
Djigbenou