Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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 il faut supprimer tes lignes en ordre inverse (de la dernière à la première)
Tu ne dois pas utiliser "each"

A+
 

neeser

XLDnaute Nouveau
Merci de l'info, étant en effet un débutant, que puis-je utiliser plutôt que each, et comment je fais pour lui indquer de procéder de façon inverse?, c'est pas mal la seule boucle que je connais...
Merci à l'avance!
 

Discussions similaires

Réponses
8
Affichages
666
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…