Problème Suppression lignes vides [avec DO WHILE]

Résolu/Fermé
cruxifer Messages postés 16 Date d'inscription jeudi 16 avril 2015 Statut Membre Dernière intervention 19 mai 2015 - Modifié par crapoulou le 21/04/2015 à 14:06
cruxifer Messages postés 16 Date d'inscription jeudi 16 avril 2015 Statut Membre Dernière intervention 19 mai 2015 - 21 avril 2015 à 14:29
Bonjour tout le monde !
Voilà mon problème :

Je dispose d'un tableau de ce style :
46-P-S1 12/02/2014 20
46-P-S1 08/04/2014 190
46-P-S1 11/06/2014 1030
46-P-S1
46-P-S1
46-P-S1
46-P-S2 12/02/2014 110
46-P-S2 08/04/2014 270

J'ai donc des valeurs vides en 2ème et 3ème colonne. C'est un tableau créé automatiquement et il peut changer de valeurs selon le fichier sur lequel je travaille.
Dans ma macro, j'aimerais qu'il supprime de façon automatique chaque ligne ne contenant pas une date.
J'avais donc pensé à la fonction do while :

Sub supprimer_lignes_vides()
Dim ligne as Integer
Dim newWS as Worksheet
Set newWS = application.workbooks.item(1).worksheets.item(2)
'newWS est la feuille contenant le tableau que j'ai ci-dessus
ligne = 1
    Do While ligne <= newWS.UsedRange.Rows.Count
        If newWS.Cells(ligne, 1).Value = "" Then
            Exit Do
        Else
            newWS.Cells(ligne, 2).EntireRow.Delete
            MsgBox "Ah, une cellule vide !"
        End If
        ligne = ligne + 1
    Loop
End sub


Sauf que problème : Il me supprime tout... Il ne bouge pas de ligne (je met le msgbox pour voir ce qu'il fait à chaque fois), et il supprime toutes celles qui sont en-dessous. Je pense pas que ça soit super compliqué mais je me sens terriblement nul là...

Si quelqu'un a une idée, je prends !
Merci :D


A voir également:

1 réponse

cruxifer Messages postés 16 Date d'inscription jeudi 16 avril 2015 Statut Membre Dernière intervention 19 mai 2015
Modifié par crapoulou le 21/04/2015 à 15:00
Bon, j'ai trouvé,
j'ai utilisé :
newWS.Range(newWS.Cells(1, 2), newWS.Cells(newWS.UsedRange.Rows.Count, 2)).SpecialCells(xlCellTypeBlanks).EntireRow.Delete


Ca marche super !
0