Suppression de lignes vides sur une partie de feuille seulement

Fermé
JC - 18 mai 2016 à 12:03
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 18 mai 2016 à 12:07
Bonjour,
Je suis vraiment débutant en visual basic, et je souhaite écrire la macro qui me permettra de supprimer toutes les lignes qui sont situées plus bas que la case où est mon curseur et dont la case de la colonne E est vide, et je n'y parviens pas.
Je connais ce code :
Sub supVides()
On Error Resume Next
[E:E].SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

Mais il supprime les lignes sur toute la feuille alors que je ne veux supprimer que les lignes qui sont au-dessous de mon curseur. Il faut sans doute remplacer ou compléter [E:E] par autre chose.
D'une manière générale je suis perdu dès qu'une action dépend de la position de mon curseur, et lorsqu'on enregistre une macro, le fait de déplacer le curseur ne se traduit pas par une ligne de code.
Quelqu'un peut-il m'aider ?


A voir également:

1 réponse

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
18 mai 2016 à 12:07
Bonjour,

Il te faut trouver la première et dernière ligne de la plage à prendre en compte...

Sub supVides()
Dim PL As Long, DL As Long
On Error Resume Next
'première ligne de la plage à prendre en compte
PL = ActiveCell.Row
'dernière ligne de la plage à prendre en compte
DL = Columns(5).Find("*", , , , xlByColumns, xlPrevious).Row
Range("E" & PL & ":E" & DL).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

0