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

michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour,

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