Excel VBA : Boucle For Each, Do While

Bonjour,

Après plusieurs heures de recherche et d'essais, je viens vous demander de l'aide. Je précise que je suis totalement débutant.

Voici le code en question :
Sub Essai()
Dim c As Variant
For Each c In Range("E3:EE3")
Do
c.Offset(1, 0).Interior.ColorIndex = 36
Loop While c.Value > -14
Next c
End Sub

Toutes les valeurs de la plage E3:EE3 sont supérieurs à -14 jusqu'à DT inclu. Donc les cellules E4:DT4 devraient normalement devenir jaunes.
Quand je lance la macro, seule la cellule E4 devient jaune puis le sablier de windows apparait et il ne se passe plus rien. Je suis alors obligé d'appuyer sur echap pour interrompre l'exécution.

Pourriez vous me dire si le code est correct et d'où vient le problème ?
Merci d'avance

2 réponses

  1. le do ....loop est inutile
    il vaut mieux faire un test if then

    Comme ça tu auras du jaune clair

    Sub Essai()
    Dim c As Variant
    For Each c In Range("E3:EE3")
        if c.value>14 then 
            c.Offset(1, 0).Interior.ColorIndex = 36
        end if
    Next c
    End Sub
    3