Optimiser une macro excel

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

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    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
    1. cette macro ne fonctionne pas.dslé
  2. Contributeur
    Bonjour,

    Tu peux supprimer ta seconde boucle qui n'est pas utile car ta première supprime déjà les lignes vides.
    1. je suis désolé mais cette macro ne fonctionne pas... je l'actionne et rien de se passe...
      1. Contributeur
        Bonjour,

        à mon avis, ce n'est pas la macro qui ne fonctionne pas... mais c'est toi qui ne l'actionne pas correctement car la macro est totalement opérationnelle et rapide.
      2. Michel_m excuses moi vraiment, je te remercie de m'avoir aidé, mais je ne sais pas pourquoi cette macro ne fonctionne pas.
        je suis désolé.
        vraiment excuses moi

        je souhaite juste que lorsqu'il y a pas une croix dans la colonne h ça t'efface la ligne correspondante
      3. Contributeur
        Bonjour,

        Si en colonne H ta cellule est vide ta ligne s'efface bien mais toi tu dois avoir un ou des espaces, ou bien une formule : vérifies tes cellules soi-disant vides.
      4. Bonjour gbinforme,

        Justement voila le probleme, j'ai des cellules vide en "h" mais j'ai des cellules "" (formule dont le resultat est "")
        Je penses que tu as mis le doigt sur le probleme.

        Aurais tu une modif a me proposer?

        Merci beaucoup