Problème suppression de lignes vides

Résolu
cruxifer Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   -  
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Voici mon problème :
J'ai un tableau généré par macro qui n'est jamais le même.
Ce genre de tableau ressemble à ça :

13-P-B2 14/01/2014 31033 280
13-P-B2 28/02/2014 18419 20
13-P-B2 cellule vide* 12258 40
13-P-B2 25/04/2014 496959 550
  • cellule vide càd il n'y a rien (ce n'est pas une chaine de caractères).


En gros, je veux supprimer toutes lignes où il n'y a pas de dates.
J'ai trouvé pleins de choses sur le net et la "meilleure" qui a retenue mon attention c'est :


Dim newWS as Worksheet
Set newWS = Application.Workbooks.Item(1).Worksheets.Add(After:=Sheets(Sheets.Count))
newWS.Name = "a_importer"

newWS.Range(newWS.Cells(1, 2), newWS.Cells(newWS.UsedRange.Rows.Count, 2)).SpecialCells(xlCellTypeBlanks).EntireRow.Delete


Sauf que si il n'y a aucune ligne sans date, mon programme ne compile pas...
Help.
Merci d'avance !

2 réponses

eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
Bonjour,

ta 1ère solution doit être plus rapide.
Sans doute qu'en testant ça doit mieux passer :
Dim plage As Range
Set plage = newWS.Range(newWS.Cells(1, 2), newWS.Cells(newWS.UsedRange.Rows.Count, 2)).SpecialCells(xlCellTypeBlanks)
If Not plage Is Nothing Then plage.EntireRow.Delete

eric

En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
1
cruxifer Messages postés 16 Date d'inscription   Statut Membre Dernière intervention  
 
Trouvé !
For ligne = newWS.UsedRange.Rows.Count To 1 Step -1
If newWS.Cells(ligne, 2) = "" Then newWS.Rows(ligne).Delete
Next ligne
0