Problème Supression ligne VBA

Amateur -  
 Amateur -
Bonjour,

Je viens ici pour savoir si vous pouvez me dépanner ..

Je voudrais appliquer la suppression de la ligne si elle est vide mais seulement à partir de la troisième .. Le soucis c'est qu'avec mon programme ca supprime également la 2 ligne ..

CODE :

Application.ScreenUpdating = False

Application.Calculation = xlCalculationManual

For i = 3 To 400 Step 1

If Cells(i, 21) = "" Then Rows(i).Delete Shift:=xlUp 'Si la cellule de la colonne 5 (EQUIPement) est vide alors suprimer ligne ( ligne inutile)

Next i
A voir également:

2 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,
Il me semble qu'iil faut boucler en partant de la fin.

For i = 400 To 3 Step -1
'Si la cellule de la colonne 5 (EQUIPement) est vide alors suprimer ligne ( ligne inutile)
If Cells(i, 21) = "" Then 
 Rows(i).Delete Shift:=xlUp 
End IF

Next 

0
Amateur
 
Merci Jordane ca marche niquel !!
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour

pourquoi une boucle ?

Sub Supprimer_si_vide()
Dim Ligne As Long

On Error Resume Next
Ligne = Columns("U").Find("*", , , , , xlPrevious).Row
Range("U3:U" & Ligne).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Oui en effet,
je n'ai pas pensé à lui "améliorer" son code.
Bien vu.
J'espère qu'il lira ta réponse.
0
Amateur
 
Merci à vous deux pour vos réponse , je suis alternant et je viens seulement de revenir en entreprise ( d'où ma réponse tardive ) je vous remercie grandement pour votre aide , j'ai opté pour la solution de Jordane qui marche , je n'ai pas réussi à faire marcher la tienne michel , a bientôt sûrement :)
0