Suivi projets - transitions entre les phases du projet

Bonjour;
Je reviens encore vers vous, s’il vous plaît, pour un petit coup de main sur la macro que j'essaie d'ajuster certains critères

7test-1-lrd.xlsm (34.18 Ko)

. Pour l'instant, elle fonctionne pas mal avec cette formule :

cell.Formula = "=IF(Jalons_tdb!$C" & (row - 3) & "=Tdb!" & baseCol & "$3, IF(Jalons_tdb!$D" & (row - 3) & "=\"" & categorie & "\", \"turquoise\", \"\"), \"\")"

cellValue = cell.Value

Cette formule vérifie si la colonne "C" de "Jalons_tdb" correspond à la ligne "3" de "Tdb". Si oui, elle colore la cellule concernée en turquoise, ainsi que celles à gauche.

Mais maintenant, j'aimerais ajouter deux nouveaux critères :

1. Coloration des cellules à droite: J'aimerais que les cellules à droite de celle colorée en turquoise soient peintes en bleu clair, mais selon les règles suivantes :

  • Si la cellule turquoise est entre les colonnes 2 et 5, alors colorons en bleu clair jusqu'à la colonne 6.
  • Si elle est entre les colonnes 6 et 10, alors jusqu'à la colonne 11.
  • Si elle est entre les colonnes 11 et 13, alors jusqu'à la colonne 14.
  • Si elle est entre les colonnes 14 et 15, alors jusqu'à la colonne 16.

2. Gestion des phases : L'idée est que les cellules à gauche de la turquoise deviennent blanches quand on change de phase (par exemple, de "cadre" à "Fab", "Rec", etc. ). Cela aidera à visualiser clairement les transitions entre les phases du projet.

Je vous ai joint une illustration pour mieux expliquer et l’Excel.

Pouvez-vous m'aider à intégrer ces fonctionnalités ? Merci d'avance pour votre temps et votre expertise !

Bien à vous,

image

Bonsoir,

J'ai repris votre code complet, voici ma version :

Sub LRDColor()
    Dim Lig As Long, Col As Integer, TabCol(0 To 6), Cpt As Integer, TurColor As Integer, Suite As Boolean, I, J
    TabCol(0) = 1: TabCol(1) = 6: TabCol(2) = 11: TabCol(3) = 12: TabCol(4) = 14: TabCol(5) = 16: TabCol(6) = 17
    TurColor = 0
    ' init des couleurs
    ActiveSheet.Range("B5:P28").Interior.Color = xlNone
    ' on boucle sur les lignes
    For Lig = 5 To 28
        ' on boucle sur les groupe de cellules
        For Cpt = 1 To 5
            ' on boucle sur les colonnes de ces groupes
            For Col = TabCol(Cpt - 1) + 1 To TabCol(Cpt)
                If Cells(Lig, Col).Value = "turquoise" Then TurColor = Col: Exit For
            Next Col
            ' si TurColor <> 0 c'est qu'on a trouvé une valeur turquoise dans ce groupe de colonne
            If TurColor > 0 Then
                ' on met le bleu ciel sur la ligne du groupe de colonne
                Range(Cells(Lig, TabCol(Cpt - 1) + 1), Cells(Lig, TabCol(Cpt))).Interior.Color = RGB(221, 235, 247)
                ' on met en turquoi à gauche de la cellule turquoise
                Range(Cells(Lig, TabCol(Cpt - 1) + 1), Cells(Lig, Col)).Interior.Color = RGB(13, 183, 191)
                If TurColor = TabCol(Cpt) Then Suite = True ' si turquoise se trouve sur la dernière colonne du groupe alors on met suite à VRAI de façon à colorier en bleu ciel le prochain groupe
            Else
                If Suite Then
                    ' on met le bleu ciel sur la ligne du groupe de colonne
                    Range(Cells(Lig, TabCol(Cpt - 1) + 1), Cells(Lig, TabCol(Cpt))).Interior.Color = RGB(221, 235, 247)
                    Suite = False
                End If
            End If
            TurColor = 0
        Next Cpt
    Next Lig
End Sub

A vous de l'essayer sur une copie de votre fichier.

@ bientôt

LouReeD

Salut @LouReeD;

ça a marché parfaitement!

Merci beaucoup pour votre aide!

à bientôt,

Emy

Bonsoir,

merci de ce retour et remerciement !

En "partant de zéro" quelque fois cela peut simplifier les choses également

@ bientôt

LouReeD

Rechercher des sujets similaires à "suivi projets transitions entre phases projet"