Vba boucle for

Bonjour,

j'ai un problème pour sélectionner des cellules à l'aide d'une boucle for,
je souhaite que la cellule devienne rouge lorsque la valeur est inférieur à une autre cellule.
Quand je fais la boucle if cellule par cellule, ça marche, mais quand je souhaite faire une selection de plusieurs cellule avec une boucle for, ça ne marche plus.
Je ne sais jamais quoi utilisé entre Range et Cells, j'ai cru comprendre qu'avec la boucle for il fallait Cells mais ca ne marche pas.

les trois premiers marche mais la boucle for non, voici ce que ça donne

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("E5") < Range("D5") Then
Range("E5").Interior.ColorIndex = 3
Else: Range("E5").Interior.ColorIndex = 4
End If
If Range("E6") < Range("D6") Then
Range("E6").Interior.ColorIndex = 4
Else: Range("E6").Interior.ColorIndex = 3
End If
If Range("E7") < Range("D7") Then
Range("E7").Interior.ColorIndex = 3
Else: Range("E7").Interior.ColorIndex = 4
End If
For i = 16 To 24
Next
If Cells(6, i).Value > Cells(4, i).Value Then
Cells(6, i).Interior.ColorIndex = 4
Else: Cells(6, i).Interior.ColorIndex = 3
End If
End Sub

Merci

1 réponse

  • Votes
  • Date
  • Date décroissante
  1. c'est bon , j'ai trouvé la solution, désolé j'avais un problème avec le range que j'exploiter mal avec le i.
    Cependant il me reste une question, comment mettre à part une valeur de i pour laquelle il ne devra rien se passé?
    1. rajoute un if dans ta boucle for qui englobe le tout et qui fait que pour certaine valeur de i on ne rentre pas dedans et donc ca fait rien
    2. je ne vois pas la syntaxe pour dire de ne pas rentrer dans la boucle
    3. ca rentre dans la boucle mais pas dans le if donc ca fait rien
      For i = 16 To 24
      Next
      If i = valeur then
      //rien faire
      else
      faire le code normal
    4. c'est bon j'ai trouver la solution!!!
      merci :)