prunejulie
XLDnaute Nouveau
Bonjour à tous,
Je débute en VBA et jusqu'ici je m'en sortais à peu près en glanant des infos sur les forums, sauf que là je suis bloquée...
Dans la feuille 'planning' j'ai donc un planning en fonction des personnes.
Ce planning sert à planifier le travail des personnes, on colore donc (manuellement) les jours pour affecter du travail à une personne puis on écrit le numéro de tâche.
Ce numéro de tache est repris dans la feuille 'données' et correspond à un client, une quantité, un temps ......
Ce que je cherche à faire c'est : Vérifier par semaine et par personne si la tâche (ou les tâches) qu'on lui a affecté ne dépasse pas sa capacité de travail de 35h.
Ce que j'ai essayé de faire c'est de copier le texte (numéro de tâche) de mes cellules si elles sont en bleu :
Sub BBBB()
Dim Cellule As Range
Dim total As Variant
Dim Plage_Cible As Range, Plage_A_Traiter As Range, X As Long
Range("F9:J9").Select
For Each Cellule In Selection
If Cellule.Interior.ColorIndex = 5 Then
Set Plage_Cible = Range("G68:G72")
Set Plage_A_Traiter = Range("F9:J9")
For X = 1 To Plage_A_Traiter.Cells.Count
If Not IsEmpty(Plage_A_Traiter.Cells(X)) Then
Plage_Cible.Cells(X) = Plage_A_Traiter.Cells(X)
End If
Next X
ActiveWorkbook.Save
End If
Next
End Sub
Et ensuite faire une Recherchev dans !données pour aller chercher le temps correspond à ce numéro de tâche (copié en G68:G72), faire la somme et comparer à 35h
Sauf que cela ne marche pas pour le cas suivant :
-Si ma planification d'une tâche est faite sur plusieurs semaines alors toutes les semaines le nombre d'heure total de cette tâche sera compté, alors qu’il faudrait avoir toutes les semaines le calcul suivant : nombre d’heure total de la tâche /nombre de semaines planifiées
Et que mon code vba est lourd sachant que j'ai 26 semaines (5 colonnes à vérifier par semaine) et 66 lignes ...
Je ne sais pas si j'ai clairement exposé le problème ...
Svp, venez moi en aide 🙂
Thx.
Je débute en VBA et jusqu'ici je m'en sortais à peu près en glanant des infos sur les forums, sauf que là je suis bloquée...
Dans la feuille 'planning' j'ai donc un planning en fonction des personnes.
Ce planning sert à planifier le travail des personnes, on colore donc (manuellement) les jours pour affecter du travail à une personne puis on écrit le numéro de tâche.
Ce numéro de tache est repris dans la feuille 'données' et correspond à un client, une quantité, un temps ......
Ce que je cherche à faire c'est : Vérifier par semaine et par personne si la tâche (ou les tâches) qu'on lui a affecté ne dépasse pas sa capacité de travail de 35h.
Ce que j'ai essayé de faire c'est de copier le texte (numéro de tâche) de mes cellules si elles sont en bleu :
Sub BBBB()
Dim Cellule As Range
Dim total As Variant
Dim Plage_Cible As Range, Plage_A_Traiter As Range, X As Long
Range("F9:J9").Select
For Each Cellule In Selection
If Cellule.Interior.ColorIndex = 5 Then
Set Plage_Cible = Range("G68:G72")
Set Plage_A_Traiter = Range("F9:J9")
For X = 1 To Plage_A_Traiter.Cells.Count
If Not IsEmpty(Plage_A_Traiter.Cells(X)) Then
Plage_Cible.Cells(X) = Plage_A_Traiter.Cells(X)
End If
Next X
ActiveWorkbook.Save
End If
Next
End Sub
Et ensuite faire une Recherchev dans !données pour aller chercher le temps correspond à ce numéro de tâche (copié en G68:G72), faire la somme et comparer à 35h
Sauf que cela ne marche pas pour le cas suivant :
-Si ma planification d'une tâche est faite sur plusieurs semaines alors toutes les semaines le nombre d'heure total de cette tâche sera compté, alors qu’il faudrait avoir toutes les semaines le calcul suivant : nombre d’heure total de la tâche /nombre de semaines planifiées
Et que mon code vba est lourd sachant que j'ai 26 semaines (5 colonnes à vérifier par semaine) et 66 lignes ...
Je ne sais pas si j'ai clairement exposé le problème ...
Svp, venez moi en aide 🙂
Thx.