Optimiser une macro excel
toopey77
-
Toopey77 -
Toopey77 -
Bonjour,
je souhaites supprimer une ligne entière si la case en H est vide ou ""
j'ai réussi à faire cette MACRO :
Sub effacer()
Application.ScreenUpdating = False
Dim l As Long
For l = Cells(5000, 8).End(xlUp).Row To 1 Step -1
If Cells(l, 8).Value = "" Then Cells(l, 8).EntireRow.Delete
Next l
For i = 5000 To 1 Step -1
If IsEmpty(Worksheets("element").Cells(i, 8)) = True Then Worksheets("element").Rows(i).Delete
Next i
End Sub
le probleme est le suivant: la macro est assez longue à se mettre en place de plus je souhaiterais ke la macro prenne les colonnes suivantes ("H10:H5000").
si vous pouviez m'aider à optimiser cette macro ce serait super
voilà merci à tous
je souhaites supprimer une ligne entière si la case en H est vide ou ""
j'ai réussi à faire cette MACRO :
Sub effacer()
Application.ScreenUpdating = False
Dim l As Long
For l = Cells(5000, 8).End(xlUp).Row To 1 Step -1
If Cells(l, 8).Value = "" Then Cells(l, 8).EntireRow.Delete
Next l
For i = 5000 To 1 Step -1
If IsEmpty(Worksheets("element").Cells(i, 8)) = True Then Worksheets("element").Rows(i).Delete
Next i
End Sub
le probleme est le suivant: la macro est assez longue à se mettre en place de plus je souhaiterais ke la macro prenne les colonnes suivantes ("H10:H5000").
si vous pouviez m'aider à optimiser cette macro ce serait super
voilà merci à tous
4 réponses
-
Bonjour,
Cela se fait sans boucle et rapidement
Sub Supprimer_si_vide() Dim Ligne As Long On Error Resume Next Ligne = Columns("A").Find("*", , , , , xlPrevious).Row Range("H1:H" & Ligne).SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub
Michel -
-
Bonjour,
Tu peux supprimer ta seconde boucle qui n'est pas utile car ta première supprime déjà les lignes vides. -
-
-
Bonjour,
Tout à fait,Les deux solutions proposées fonctionnent
C'est plutôt nous qui sommes désolés
MERCI QUAND MEME
demo:
https://www.cjoint.com/?3DijNg8zMyI -
-
-
-