Suppresion ligne vide à partir de

barth66

XLDnaute Junior
Bonjour à tous ,

je voudrais supprimer toutes les lignes vides de mon tableau si une cellule de la colonne B est vide ( mais seulement à partir de la cellule B13 )

j'ai essayé ce code mais je ne comprends pas pourquoi lorsque je l'execute ca me dit End if sans bloc If alors que j'ai bien la condition ( il me semble :( )



Sub Supligne()


Dim I As Long

Dim Plage As Range

Set Plage = Range("B13:E" & Range("B13").End(xlDown).Row)

For I = Plage.Cells.Count To 1 Step -1

Next I

If Plage.Cells(I).Value <> "" Then Plage.Cells(I).EntireRow.Delete

End If

End Sub



Merci pour votre aide,

Cdt,
 

Cyrano

XLDnaute Nouveau
Bonjour,
Il me semble que :
  • la ligne Next I doit être écrite APRES la ligne "If Plage...", car celle ligne doit être DANS la boucle I
  • puisque l'instruction if tient sur une seule ligne, pas besoin de la ligne End If
  • l'instruction Cells(I) doit contenir une ligne et une colonne. Donc écrire plutôt Cells(I,2) => (2 pour colonne B)
Cdt,
Fred
 
Dernière édition:

Jacky67

XLDnaute Barbatruc
Bonjour à tous ,

je voudrais supprimer toutes les lignes vides de mon tableau si une cellule de la colonne B est vide ( mais seulement à partir de la cellule B13 )

j'ai essayé ce code mais je ne comprends pas pourquoi lorsque je l'execute ca me dit End if sans bloc If alors que j'ai bien la condition ( il me semble :( )



Sub Supligne()


Dim I As Long

Dim Plage As Range

Set Plage = Range("B13:E" & Range("B13").End(xlDown).Row)

For I = Plage.Cells.Count To 1 Step -1

Next I

If Plage.Cells(I).Value <> "" Then Plage.Cells(I).EntireRow.Delete

End If

End Sub



Merci pour votre aide,

Cdt,
Bonjour à tous
Essaye ceci:
VB:
Sub Supligne()
On Error Resume Next ' si pas de vide
Range("B13:b" & Cells(Rows.Count, "b").End(xlUp).Row).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
;
 
Dernière édition:

barth66

XLDnaute Junior
Bonjour,
Il me semble que :
  • la ligne Next I doit être écrite APRES la ligne "If Plage...", car celle ligne doit être DANS la boucle I
  • puisque l'instruction if tient sur une seule ligne, pas besoin de la ligne End If
  • l'instruction Cells(I) doit contenir une ligne et une colonne. Donc écrire plutôt Cells(I,2) => (2 pour colonne B)
Cdt,
Fred


Super , parfait merci beaucoup bonne journée
 

Discussions similaires

Réponses
5
Affichages
190

Statistiques des forums

Discussions
312 229
Messages
2 086 423
Membres
103 206
dernier inscrit
diambote