Couleur cellule suivant texte // Optimiser le code

Salut à tous

Voila je suis de retour pour un problème qui fait moche sur mon classeur excel

donc je possède quelques champs qui sont en nombre

mais sur cette ligne il y a un status

si le status et closed les champs avec les nombres ( ici des durée en jours ) deviennent closed à leur tour

mais je possède des couleurs suivant la durée en jour qui va du vert à rouge

si la couleur de la cellule actuelle est en orange il doit me la convertir en blanc

tout ceci fonctionne mais à l'activation de l'onglet je vois defilés les ancienne couleur

Mon code actuelle pour modifié la ligne voulu en closed et uniquement les 4 1er champs

        Num = DerniereLigneDe("O")

    For i = 3 To Num

    If Range("O" & i) = "Closed" Then
        For i2 = 1 To 4
            Cells(i, i2) = "Closed"
        Next i2
    End If

    Next i

le code pour modifié la couleur de la cellule :

        For i = 3 To Num

        If Range("A" & i) = "Closed" Then
            Range("A" & i).Interior.ColorIndex = xlNone
        End If
        If Range("B" & i) = "Closed" Then
            Range("B" & i).Interior.ColorIndex = xlNone
        End If
        If Range("C" & i) = "Closed" Then
            Range("C" & i).Interior.ColorIndex = xlNone
        End If
        If Range("D" & i) = "Closed" Then
            Range("D" & i).Interior.ColorIndex = xlNone
        End If

    Next

donc si quelqu'un pourrait me un code plus rapide pour la modification de la couleur j'en serai ravi

Merci de votre aide

Bonjour,

Pourquoi ne pas modifier la couleur directement au changement de statut ?

For i = 3 To Num
    If Range("O" & i) = "Closed" Then
        For i2 = 1 To 4
            Cells(i, i2) = "Closed"
            Cells(i, i2).Interior.ColorIndex = xlNone
        Next i2
    End If
Next i

A+

Ah oui pas bête

par contre j'ai toujours la couleur d'avant le changement .. c'est ça qui est laid

par contre j'ai toujours la couleur d'avant le changement .. c'est ça qui est laid

Désolé, je ne comprends pas

A+

je veux dire que mon code ou ton code fait la même visualisation

j'explique

avant que les cellules deviennent blanche suite au code elles sont de couleur vert / orange ou rouge

au moment de rafraîchir l'onglet sur une durée de 5s je vois les cases de la couleur avant le changement

durant ce temps la case 1 et rouge et devient blanche, pendant ce temps les autres sont encore orange et ainsi de suite

Essaie en ajoutant cette instruction en début de code

Application.ScreenUpdating = False

A+

je l'ai déjà mis depuis le début du code mais avec où sans aucun changement

Tu peux joindre un fichier pour exemple ?

je pense que le soucis provient d'un autre code qui suivant la date en jour remplis la cellule d'une couleur prévu

au passage un exemple mais sans bug d'ou ma phrase du haut

29closed-test.xlsm (24.42 Ko)

Effectivement, on ne voit rien de particulier dans ton classeur.

Le problème vient d'ailleurs et sans autre élément je ne peux pas faire grand chose pour toi.

A+

Tu le vois mieux maintenant

13closed-test.xlsm (26.47 Ko)

c'est ok j'avais oublié de marqué aussi le

 Application.screenUpdating = false

pour les modifications des couleurs des 4 champs

Essaie en désactivant l'actualisation de l'écran en début de procédure Worksheet_Activate()

Private Sub Worksheet_Activate()
Application.ScreenUpdating = False

A+

Oui c'est ce que je viens de faire à l'instant

persuadé que dans mon code je l'avais déjà marqué mais non ^^

Merci et désolé de cette perte de temps

Rechercher des sujets similaires à "couleur suivant texte optimiser code"