Optimiser une macro excel

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

A voir également:

4 réponses

michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
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
Toopey77
 
cette macro ne fonctionne pas.dslé
0
toopey77
 
SVP quelqu'un pour m'aider???
0
gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 734
 
Bonjour,

Tu peux supprimer ta seconde boucle qui n'est pas utile car ta première supprime déjà les lignes vides.
0
Toopey77
 
je suis désolé mais cette macro ne fonctionne pas... je l'actionne et rien de se passe...
0
gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 734
 
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.
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
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
0
toopey77
 
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
0
gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 734
 
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.
0
Toopey77
 
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
0