VBA : Problème boucle For Each, Do While

polo_0109

XLDnaute Nouveau
Bonjour,

Après plusieurs heures de recherche et d'essais, je viens vous demander de l'aide. Je précise que je suis 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'à CT inclu. Donc les cellules E4:CT4 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
 

ROGER2327

XLDnaute Barbatruc
Re : VBA : Problème boucle For Each, Do While

Bonsoir à tous
Dans le même genre :
Code:
[COLOR="DarkSlateGray"][B]Sub toto()
Dim s&
   With Range("E3:EE3")
      .Offset(1, 0).Interior.ColorIndex = xlNone
      For s = 1 To .Columns.Count
         If Abs(.Cells(1, s).Value) > 14 Then Exit For
      Next s
      If s - 1 Then .Resize(1, s - 1).Offset(1, 0).Interior.ColorIndex = 36
   End With
End Sub[/B][/COLOR]
C'est peut-être un peu plus rapide car le coloriage se fait en une seule fois au lieu d'être répété à chaque boucle.​
ROGER2327
#3365


10 Floréal An CCXVIII
2010-W17-4T23:00:27Z
 

Discussions similaires

Statistiques des forums

Discussions
312 836
Messages
2 092 651
Membres
105 479
dernier inscrit
chaussadas.renaud