Delete shift:=xlup dans une boucle for each

Résolu
Bonjour,

J'ai une suite de cellules à tester et si les conditions sont remplis, je supprime la case et décale tout vers le haut.
le soucis c'est qu'une fois cela fait, VBA ne reteste pas la cellule et passe à la cellule suivante.
voici le bout de code:
For Each Cel In Données 'Données est en fait un Range
Cel.Activate 'ceci n'est là que pour confirmer la cellule en cours test: à supprimer
If Cel = "**" Or Cel < 10 Then
Cel.Delete shift:=xlUp
End If
Next Cel

Pourriez-vous m'indiquez comment je pourrais corrigé cela?

Merci d'avance.
Eric

2 réponses

  1. Contributeur
    Bonjour,

    quelle est l'adresse(début-fin) de la plage "données"?
    1. La plage de données est codée:
      Set Données=range("D1").CurrentRegion
      Car l'étendu de la plage est variable.
  2. Finalement, je suis passé par une boucle do while et cela fonctionne.