VBA question à propos d'un For each

neeser

XLDnaute Nouveau
Bonjour tout le monde,
Je tente de supprimer les lignes dont la cellule de la première colonne n'est pas de couleur blanche (colorindex=-4142)
Voici ce que j'ai écris

For Each c In Range("A1:A100")
If c.Interior.ColorIndex <> -4142 Then
c.EntireRow.Delete
End If
Next


Pour une raison que j'ignore, ça fonctionne moitié, quand j'exécute la macro, ça me supprime quelques lignes dont la premiere cellule est d'une autre couleur, mais pas tous... il faut que je l'éxécute à plusieurs reprises avant que toutes les lignes concernées soient effacées. Je ne comprends pas ce que je fais de mal. Merci à l'avance de vos judicieux conseils!
 
C

Compte Supprimé 979

Guest
Bonjour neeser,
Si tu étais passer en mode débogage sur ton VBA, avec la feuille active, tu aurais pu voir ce qui se passait ;)

C'est une erreur de débutant :p il faut supprimer tes lignes en ordre inverse (de la dernière à la première)
Tu ne dois pas utiliser "each"

A+
 

Discussions similaires

Réponses
8
Affichages
620

Statistiques des forums

Discussions
311 729
Messages
2 081 970
Membres
101 852
dernier inscrit
dthi16088