Delete shift:=xlup dans une boucle for each

Résolu
Eric -  
 Eric -
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. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour,

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