En VBA: suppression 1ere ligne et test pour passer a la 2nde

Bonjour

Je vous sollicite ami Exceler car j'ai 2 problématiques qui peuvent être liées

Dans mon fichier, je souhaite supprimer toutes les lignes qui sont differentes de MAG01 dans la colonne dont l'etiquette est Entrepôt. Je fais le test sur la macro ci dessous dans lequel je lui demande de passer à la ligne suivante si elle n'est pas égale à Entrepôt ou MAG01. Dans le cas contraire, je lui demande de la supprimer et de remonter à la ligne précédente afin de retester la ligne pour être sur que je n'en ai pas oublié au passage.

1/ La première ligne pour laquelle je lui ai demandé de passé à la suivante car = Entrepôt, est supprimée: Pourquoi?

2/ Dans le cas ou elle venait à être supprimée si par exemple je ne voulais garder que les lignes = "MAG01", Excel ne pourra pas remonter à la ligne supérieure puisque c'est la première ligne ( <=> ActiveCell.Offset(-1, 0).Select ne marchera donc pas). Comment faire un test dans le cas où je sois sur la première ligne et que je souhaite la supprimer, pour qu'i passe à la suivante et que la macro suive son cours?

Si je ne suis pas clair, n'hesitez pas à me recontacter

Merci et Bonne journée

Sheets("Lignes de commandes").Select

Cells.Find(What:="Entrepôt", After:=ActiveCell, LookIn:= _

xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _

xlNext, MatchCase:=False, SearchFormat:=False).Activate

While ActiveCell.Offset <> ""

If Left(ActiveCell.Value, 5) <> "MAG01" Or Left(ActiveCell.Value, 5) <> "Entrepôt" Then

ActiveSheet.Rows(ActiveCell.Row).EntireRow.Delete

ActiveCell.Offset(-1, 0).Select

End If

ActiveCell.Offset(1, 0).Select

Wend

'

Range("A1").Select

5classeur1.xlsm (46.86 Ko)

ok

Une fois que j'ai trouvé "Entrepôt", je n'ai qu'à faire un Activecell.offset(1,0).select pour passer à la ligne 2

Rechercher des sujets similaires à "vba suppression 1ere ligne test passer 2nde"