Boucle For Each

Bonjour,
Au sein d’une boucle FOR EACH portant sur des cellules, je supprime une ligne entière en fonction de la valeur de la cellule concernée. Mais lors de la commande NEXT, ce n’est plus la ligne suivante de la ligne supprimée (ligne +1) qui est testée mais la ligne +2.
Comment faire pour que le « compteur » de la boucle For Each tienne compte de la ligne supprimée ?
Merci
Baptiste

faute classique, il faut supprimer de bas en haut et donc utiliser l’index de la ligne au lieu des cellules. Pouvez-vous montrer votre macro ?

Bonjour,
Merci de votre retour.
Ci joint ma macro :
Set Zone = Range(Cells(2, 9), Cells(Derligne, 9))
For Each Cell In Zone
Cell.Activate
Cell.FormulaR1C1 = « =sum(RC[-1],RC[-2]) »
If Cell.Value = 0 Then
ActiveCell.EntireRow.Delete
End If
Next Cell

Merci !!

donc reculer de la ligne « derligne » vers ligne « 2 »

     For i = derligne To 2 Step -1           'reculer de la dernièe ligne vers ligne 2
          Set c = Cells(i, 9)                'avec cette cellule dans la colonne I
          c.FormulaR1C1 = "=sum(RC[-1],RC[-2])"
          If c.Value = 0 Then
               c.EntireRow.Delete
          End If
     Next i


Merci !!
Compris pour le step

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.